<?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>Steve Cook's WebLog</title><link>http://blogs.msdn.com/b/stevecook/</link><description /><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>UML 2.5 Beta now available</title><link>http://blogs.msdn.com/b/stevecook/archive/2012/10/30/uml-2-5-beta-now-available.aspx</link><pubDate>Tue, 30 Oct 2012 17:49:56 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10364147</guid><dc:creator>Steve Cook MSFT</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/stevecook/rsscomments.aspx?WeblogPostID=10364147</wfw:commentRss><comments>http://blogs.msdn.com/b/stevecook/archive/2012/10/30/uml-2-5-beta-now-available.aspx#comments</comments><description>&lt;p&gt;The beta version of UML 2.5 is now available at &lt;a title="http://www.omg.org/spec/UML/2.5/Beta1/" href="http://www.omg.org/spec/UML/2.5/Beta1/"&gt;http://www.omg.org/spec/UML/2.5/Beta1/&lt;/a&gt;.&amp;#160; Potential users and implementers are encouraged to read it and raise issues for consideration by the Finalization Task Force.&amp;#160; Issues may be logged at &lt;a title="http://www.omg.org/report_issue.htm" href="http://www.omg.org/report_issue.htm"&gt;http://www.omg.org/report_issue.htm&lt;/a&gt;. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10364147" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/stevecook/archive/tags/UML/">UML</category></item><item><title>UML 2.4.1 now released</title><link>http://blogs.msdn.com/b/stevecook/archive/2011/10/24/uml-2-4-1-now-released.aspx</link><pubDate>Mon, 24 Oct 2011 08:57:40 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10229232</guid><dc:creator>Steve Cook MSFT</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/stevecook/rsscomments.aspx?WeblogPostID=10229232</wfw:commentRss><comments>http://blogs.msdn.com/b/stevecook/archive/2011/10/24/uml-2-4-1-now-released.aspx#comments</comments><description>&lt;p&gt;When UML 2.4 was released we discovered an issue that meant it was impossible to interchange StructuredActivityNodes reliably. StructuredActivityNodes are executable nodes in an activity diagram that are also groups.&amp;#160; UML 2.4 doesn’t specify clearly whether they should be serialized as nodes or as groups; as a consequence, different tools do different things.&amp;#160; In UML 2.4.1 this ambiguity is remedied by serializing them in their own collection. UML 2.4.1 can be found at &lt;a title="http://www.omg.org/spec/UML/2.4.1/" href="http://www.omg.org/spec/UML/2.4.1/"&gt;http://www.omg.org/spec/UML/2.4.1/&lt;/a&gt; and all of the machine-readable files are at &lt;a title="http://www.omg.org/spec/UML/20110701/" href="http://www.omg.org/spec/UML/20110701/"&gt;http://www.omg.org/spec/UML/20110701/&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;This is the first time in the history of UML that a complete machine-readable definition of the language is available online, defined as an instance of itself, and with no dangling references.&amp;#160; Only of interest to UML aficionados maybe, but a milestone nonetheless.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10229232" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/stevecook/archive/tags/UML/">UML</category></item><item><title>Back from Salt Lake City: now we have a plan for more flexible UML profiles</title><link>http://blogs.msdn.com/b/stevecook/archive/2011/06/27/back-from-salt-lake-city-now-we-have-a-plan-for-more-flexible-uml-profiles.aspx</link><pubDate>Mon, 27 Jun 2011 17:09:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10179513</guid><dc:creator>Steve Cook MSFT</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/stevecook/rsscomments.aspx?WeblogPostID=10179513</wfw:commentRss><comments>http://blogs.msdn.com/b/stevecook/archive/2011/06/27/back-from-salt-lake-city-now-we-have-a-plan-for-more-flexible-uml-profiles.aspx#comments</comments><description>&lt;p&gt;Last week I was at the OMG meeting in Salt Lake City. A high point of the meeting was issuing a Request for Proposals for a new “metamodel extension facility”, which could in time replace the current UML profile capability with a better designed and more flexible mechanism.&amp;nbsp; The new capability should allow the profile writer to select a subset of UML, including the possibility of choosing particular properties from a metaclass, and define a profile as a new metamodel that extends that subset.&amp;nbsp; So, if the profile writer wants to define Class without the properties “visibility” and “isActive” they will be able to do so.&amp;nbsp; They should also be able to define new notations for UML, if they want, although this is obviously a feature that needs to be used sensibly.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10179513" width="1" height="1"&gt;</description></item><item><title>Preparing for the next OMG meeting</title><link>http://blogs.msdn.com/b/stevecook/archive/2011/06/03/preparing-for-the-next-omg-meeting.aspx</link><pubDate>Fri, 03 Jun 2011 14:24:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10171123</guid><dc:creator>Steve Cook MSFT</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/stevecook/rsscomments.aspx?WeblogPostID=10171123</wfw:commentRss><comments>http://blogs.msdn.com/b/stevecook/archive/2011/06/03/preparing-for-the-next-omg-meeting.aspx#comments</comments><description>&lt;p&gt;I’ll be off to Salt Lake City in a couple of weeks for the next OMG meeting.&amp;nbsp; One thing I’m going to try and do is get a Request for Proposals issued for a Metamodel Extension Facility that will improve and extend the current UML Profiles capability.&amp;nbsp; UML Profiles are quite popular, but the mechanism for defining them is really not very well defined, which leads to problems of interoperability and general misunderstandings about their scope.&amp;nbsp; We’ll also be meeting to work on UML 2.5, which is going too slowly for my liking, but is making forward progress. Aside from that I’ll be working on the finalization of SMOF and attending Architecture Board meetings.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10171123" width="1" height="1"&gt;</description></item><item><title>UML Progress Report</title><link>http://blogs.msdn.com/b/stevecook/archive/2011/03/28/uml-progress-report.aspx</link><pubDate>Mon, 28 Mar 2011 13:47:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10146637</guid><dc:creator>Steve Cook MSFT</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/stevecook/rsscomments.aspx?WeblogPostID=10146637</wfw:commentRss><comments>http://blogs.msdn.com/b/stevecook/archive/2011/03/28/uml-progress-report.aspx#comments</comments><description>&lt;p&gt;I just finished participating in the OMG meeting in Arlington.&amp;nbsp; Our work on UML 2.5 is moving along, although more slowly than I would like.&amp;nbsp; We’ve got a decent scheme for generating substantial portions of the specification directly from the metamodel.&amp;nbsp; A few people – including me – are re-writing chapters, and we have 6 done so far.&amp;nbsp; At this meeting we made some valuable decisions about how to organize the chapters, and how to resolve controversies and inconsistencies.&amp;nbsp; Most likely the end result will be published in 2012.&lt;/p&gt; &lt;p&gt;From an end-users’ point of view, UML 2.5 will be exactly the same as UML 2.4; so you might wonder why we are doing this.&amp;nbsp; The goal is to simplify and reorganize the written specification so that we have a fighting chance of refactoring it, modernizing it, and generally making it more useful.&amp;nbsp; It’s an investment to reduce architectural debt, without which any significant new development of UML would be intractable.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10146637" width="1" height="1"&gt;</description></item><item><title>New Sample: Linking UML elements to diagrams in Visual Studio Ultimate</title><link>http://blogs.msdn.com/b/stevecook/archive/2011/02/21/new-sample-linking-uml-elements-to-diagrams-in-visual-studio-ultimate.aspx</link><pubDate>Mon, 21 Feb 2011 14:44:25 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10132205</guid><dc:creator>Steve Cook MSFT</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/stevecook/rsscomments.aspx?WeblogPostID=10132205</wfw:commentRss><comments>http://blogs.msdn.com/b/stevecook/archive/2011/02/21/new-sample-linking-uml-elements-to-diagrams-in-visual-studio-ultimate.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/site/profile?userName=Alan%20Cameron%20Wills%20-"&gt;Alan Wills&lt;/a&gt; has created a new &lt;a title="http://code.msdn.microsoft.com/Link-UML-elements-to-0adbf5a8" href="http://code.msdn.microsoft.com/Link-UML-elements-to-0adbf5a8"&gt;sample&lt;/a&gt; that pulls together several of the capabilities of our &lt;a href="http://go.microsoft.com/fwlink/?LinkID=186905"&gt;Visualization and Modeling SDK&lt;/a&gt;.&amp;nbsp; The sample illustrates:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://msdn.microsoft.com/library/ee534032.aspx"&gt;How to associate data with any UML element by using References&lt;/a&gt;.  &lt;/li&gt;&lt;li&gt;How to add &lt;a href="http://msdn.microsoft.com/library/gg593806.aspx"&gt;decorators &lt;/a&gt;to UML elements  &lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/library/gg616043.aspx"&gt;How to add rules to respond to changes in a UML model&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/library/ee329481.aspx"&gt;How to define menu commands for UML&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/library/ee534033.aspx"&gt;How to handle the user dragging&lt;/a&gt; various kinds of object onto a UML diagram:  &lt;ul&gt; &lt;li&gt;Project Items from Solution Explorer  &lt;/li&gt;&lt;li&gt;Files from Windows Explorer  &lt;/li&gt;&lt;li&gt;Shapes from other UML diagrams&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10132205" width="1" height="1"&gt;</description></item><item><title>UML 2.4 is complete</title><link>http://blogs.msdn.com/b/stevecook/archive/2011/01/26/uml-2-4-is-complete.aspx</link><pubDate>Wed, 26 Jan 2011 11:46:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10120436</guid><dc:creator>Steve Cook MSFT</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/stevecook/rsscomments.aspx?WeblogPostID=10120436</wfw:commentRss><comments>http://blogs.msdn.com/b/stevecook/archive/2011/01/26/uml-2-4-is-complete.aspx#comments</comments><description>&lt;p&gt;Finally we have completed all of the technical processes for creating UML 2.4.&amp;nbsp; Now it just has to go through the OMG’s voting procedures and, assuming it passes, will be formally issued as the latest UML specification.&lt;/p&gt; &lt;p&gt;We’ve given a lot of attention to making the machine-readable specification of UML 2.4 solid.&amp;nbsp; That does not mean it is perfect, by any means, but it is a lot better than any earlier version.&amp;nbsp; The specification of UML 2.4 is itself a UML 2.4 model serialized using XMI 2.4, which can be imported by any UML 2.4-compliant tool.&lt;/p&gt; &lt;p&gt;We’ve now started working on UML 2.5.&amp;nbsp; From an end-user and tool-vendor perspective, UML 2.5 should be the same as UML 2.4.&amp;nbsp; The main point of UML 2.5 is to greatly simplify the specification itself, so that future improvements become tractable.&amp;nbsp; Additional goals of UML 2.5 are to formally specify what diagrams are valid, to correct inaccurate constraints, and to fill in missing ones. I’ll only be satisfied if we reduce the total length of the specification by at least half.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10120436" width="1" height="1"&gt;</description></item><item><title>UML 3 dilemmas</title><link>http://blogs.msdn.com/b/stevecook/archive/2010/12/13/uml-3-dilemmas.aspx</link><pubDate>Mon, 13 Dec 2010 16:41:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10104132</guid><dc:creator>Steve Cook MSFT</dc:creator><slash:comments>7</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/stevecook/rsscomments.aspx?WeblogPostID=10104132</wfw:commentRss><comments>http://blogs.msdn.com/b/stevecook/archive/2010/12/13/uml-3-dilemmas.aspx#comments</comments><description>&lt;p&gt;I’m back from the OMG meeting in Santa Clara.&amp;nbsp; We talked a lot about the future of UML.&amp;nbsp; Just about everybody is agreed that we need to create UML 3, but there are some real practical dilemmas.&amp;nbsp; Currently UML is complicated and it can take a lot of expertise to apply it successfully to any particular situation: “Jack-of-all-trades and master of none”.&amp;nbsp; OO class modelling is its original domain, but since then it has been bent to apply to many situations including business modelling, requirements, executable models for real time systems, and as a basis for new languages such as SysML.&amp;nbsp; But even when applied to OO modelling it is not a particularly good fit to any particular OO programming language: C#, C++, and Java are all poorly represented using “vanilla” UML class diagrams.&lt;/p&gt; &lt;p&gt;The way to resolve this is to build a flexible kernel of very fundamental concepts, and provide rich features for extension into multiple domains.&amp;nbsp; The kernel should make as few semantic commitments as possible: for example, no commitment to the meaning of visibility, no distinction between “structural” and “behavioural” features of a classifier, flexible concepts of parameterization, and so on.&amp;nbsp; For backwards compatibility, existing UML can be defined through one or more profiles or viewpoints on this kernel, which will also enable extensions into many new domains and better matching to existing domains.&lt;/p&gt; &lt;p&gt;The main dilemma is that constructing such a kernel may not carry sufficient business value to get it adopted on its own. There is a lot of investment in UML as it is, and we need to do enough of UML 3 that the new features provide compelling value.&amp;nbsp; Customers tell me that they would really value deep integration of UML with managed and native code, &lt;a href="http://blogs.msdn.com/b/adonet/archive/2009/05/11/update-on-the-entity-framework-in-net-4-and-visual-studio-2010.aspx"&gt;Entity Framework&lt;/a&gt;, &lt;a href="http://msdn.microsoft.com/en-us/library/dd489441.aspx"&gt;Windows Workflow Foundation&lt;/a&gt; and other aspects of our platform.&amp;nbsp; That’s a good incentive for me: define UML 3 so that a first class .Net Profile for UML can be deeply integrated into our tools.&amp;nbsp; I’ll expect other stakeholders to be able to do the same for their platforms, programming and modelling languages.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10104132" width="1" height="1"&gt;</description></item><item><title>XMI 2.1 Export for VS2010 UML Tools</title><link>http://blogs.msdn.com/b/stevecook/archive/2010/11/26/xmi-2-1-export-for-vs2010-uml-tools.aspx</link><pubDate>Fri, 26 Nov 2010 18:09:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10097215</guid><dc:creator>Steve Cook MSFT</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/stevecook/rsscomments.aspx?WeblogPostID=10097215</wfw:commentRss><comments>http://blogs.msdn.com/b/stevecook/archive/2010/11/26/xmi-2-1-export-for-vs2010-uml-tools.aspx#comments</comments><description>&lt;p&gt;There is an XMI 2.1 Exporter now available for VS2010 UML Tools.&amp;nbsp; It is available as source code in the form of a &lt;a href="http://code.msdn.microsoft.com/Project/Download/FileDownload.aspx?ProjectName=vsvmsdk&amp;amp;DownloadId=14454"&gt;sample.&lt;/a&gt;&amp;nbsp; It builds into a VS Extension which you can easily install, and which will enable you to export UML models in the standard XMI 2.1 format. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10097215" width="1" height="1"&gt;</description></item><item><title>Hurtling back from Paris</title><link>http://blogs.msdn.com/b/stevecook/archive/2010/11/26/hurtling-back-from-paris.aspx</link><pubDate>Fri, 26 Nov 2010 11:49:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10096982</guid><dc:creator>Steve Cook MSFT</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/stevecook/rsscomments.aspx?WeblogPostID=10096982</wfw:commentRss><comments>http://blogs.msdn.com/b/stevecook/archive/2010/11/26/hurtling-back-from-paris.aspx#comments</comments><description>&lt;p&gt;I’m currently hurtling through the French countryside at some significant fraction of the speed of sound on the Eurostar train from Paris to London.&amp;nbsp; I’m returning from giving a keynote talk at &lt;a href="http://www.mdday.fr/"&gt;Model Driven Day&lt;/a&gt;.&amp;nbsp; I spoke about UML – Past, Present and Future.&amp;nbsp;&amp;nbsp; Despite having to put up with my English – my French is ok for ordering a sandwich, but wholly insufficient for conveying the ironies needed for talking about UML - the audience seemed receptive and what feedback I received was good.&lt;/p&gt; &lt;p&gt;I met several old friends, including &lt;a href="http://modelseverywhere.wordpress.com/2010/11/23/563/"&gt;Jean Bézivin&lt;/a&gt; and &lt;a href="http://academic.research.microsoft.com/Author/212916.aspx"&gt;Philippe Desfray&lt;/a&gt;.&amp;nbsp; Many people introduced themselves to me and wanted to talk about model-driven topics.&amp;nbsp; Several of them were keen users of DSL Tools and asked about our future plans.&amp;nbsp; Some were UML users.&lt;/p&gt; &lt;p&gt;I asked everybody I spoke to what they really value in model driven development tools.&amp;nbsp; These are some of the key points I got from the replies:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Being able to integrate models tightly with the code  &lt;/li&gt;&lt;li&gt;Being able to integrate models in different domains, e.g. business models and UML models  &lt;/li&gt;&lt;li&gt;Being able to reuse good ideas from UML in custom DSLs without having to deal with the whole thing  &lt;/li&gt;&lt;li&gt;Being able to describe and validate system architectures&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;It was a very informative and enjoyable day.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10096982" width="1" height="1"&gt;</description></item><item><title>Use cases for UML</title><link>http://blogs.msdn.com/b/stevecook/archive/2010/11/18/use-cases-for-uml.aspx</link><pubDate>Thu, 18 Nov 2010 11:04:27 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10093117</guid><dc:creator>Steve Cook MSFT</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/stevecook/rsscomments.aspx?WeblogPostID=10093117</wfw:commentRss><comments>http://blogs.msdn.com/b/stevecook/archive/2010/11/18/use-cases-for-uml.aspx#comments</comments><description>&lt;p&gt;I had a conversation recently in which the following three use cases for UML were suggested:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;UML as a precise graphical representation of existing programming languages  &lt;/li&gt;&lt;li&gt;UML as a higher level full life-cycle development language  &lt;/li&gt;&lt;li&gt;UML as a means to communicate between stakeholders&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Today UML is not particularly good for any of these use cases because it is trying to fulfil all of them at the same time.&lt;/p&gt; &lt;p&gt;Which one do you think is most important?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10093117" width="1" height="1"&gt;</description></item><item><title>The story of UML</title><link>http://blogs.msdn.com/b/stevecook/archive/2010/11/15/the-story-of-uml.aspx</link><pubDate>Mon, 15 Nov 2010 10:12:25 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10091001</guid><dc:creator>Steve Cook MSFT</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/stevecook/rsscomments.aspx?WeblogPostID=10091001</wfw:commentRss><comments>http://blogs.msdn.com/b/stevecook/archive/2010/11/15/the-story-of-uml.aspx#comments</comments><description>&lt;a href="http://modelseverywhere.wordpress.com/about/"&gt;Jean Bézivin&lt;/a&gt; is telling the story of UML on his blog.&amp;nbsp; His post on &lt;a href="http://modelseverywhere.wordpress.com/2010/11/12/bits-of-history/"&gt;How to choose the good ingredients to get a good UML?&lt;/a&gt; makes some really key points about what happened in 1996.&amp;nbsp; I guess I’m glad that we managed to get OCL into UML, but I remain disappointed that we never got “modelling schemes” in.&amp;nbsp; They would have made such a difference to the past 14 years.&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10091001" width="1" height="1"&gt;</description></item><item><title>UML for mainstream developers</title><link>http://blogs.msdn.com/b/stevecook/archive/2010/10/19/uml-for-mainstream-developers.aspx</link><pubDate>Tue, 19 Oct 2010 11:49:55 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10077786</guid><dc:creator>Steve Cook MSFT</dc:creator><slash:comments>12</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/stevecook/rsscomments.aspx?WeblogPostID=10077786</wfw:commentRss><comments>http://blogs.msdn.com/b/stevecook/archive/2010/10/19/uml-for-mainstream-developers.aspx#comments</comments><description>&lt;p&gt;I’d like to explore the idea that UML could be made more useful to mainstream developers if it were redesigned so that a UML model could directly represent the semantics and terminology of modern programming languages.&amp;nbsp; For example, if you are working in C#, instead of having Attributes and Operations in your class diagram, you would be offered Fields, Properties, Methods and Events.&amp;nbsp; Instead of Features you would see Members.&amp;nbsp; You’d be able to see direct representations of delegates, lambda expressions, constants, variables, and blocks.&amp;nbsp; Instead of Packages you would see Namespaces and, separately, Assemblies.&amp;nbsp; All of this would be fully integrated across structural (class, package, component) and behavioural (sequence, activity, state) diagrams.&amp;nbsp; In a heterogeneous world you’d be able to define models of your systems at a large scale independently of implementation technology, and be able to drill into the detail of particular technologies for different elements of your system.&amp;nbsp;&amp;nbsp; There would be diagrammatic counterparts for scripting languages and web development technologies.&lt;/p&gt; &lt;p&gt;What do you think?&amp;nbsp; Tell me your experiences.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10077786" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/stevecook/archive/tags/UML/">UML</category></item><item><title>Back from the OMG meeting in Cambridge</title><link>http://blogs.msdn.com/b/stevecook/archive/2010/09/27/back-from-the-omg-meeting-in-cambridge.aspx</link><pubDate>Mon, 27 Sep 2010 16:29:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10068264</guid><dc:creator>Steve Cook MSFT</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/stevecook/rsscomments.aspx?WeblogPostID=10068264</wfw:commentRss><comments>http://blogs.msdn.com/b/stevecook/archive/2010/09/27/back-from-the-omg-meeting-in-cambridge.aspx#comments</comments><description>&lt;p&gt;I just arrived back from the Object Management Group&amp;rsquo;s September meeting in Cambridge (the one across the river from Boston, not the one in UK where I went to university and go to work). &lt;/p&gt;
&lt;p&gt;I want to make UML more relevant to mainstream developers and a better match for modern platforms, so that it and its derivatives can play seamlessly and add value to modern development environments.&amp;nbsp; We&amp;rsquo;re making decent progress with this. UML 2.4 is almost finished, UML 2.5 is in the works, and discussions for the future of UML and its associated technologies past 2.5 are well under way. &lt;/p&gt;
&lt;p&gt;UML 2.4 has cleaned up the UML metamodel considerably, and also clarified some ambiguous constructs that inhibited effective implementation, especially around sequence diagrams and profiles.&amp;nbsp; UML 2.4 will be aligned with related standards MOF 2.4 and XMI 2.4. The end result will be that UML 2.4 will be defined in itself, which considerably simplifies the task of implementing it. &lt;/p&gt;
&lt;p&gt;The submission team for UML 2.5 has been established.&amp;nbsp; There now exists a simplified metamodel based on UML 2.4 with all &amp;ldquo;package merge&amp;rdquo; removed.&amp;nbsp; The detailed work of re-writing the simplified specification around that metamodel will take place during 2011. This should make it a lot clearer what UML actually is. &lt;/p&gt;
&lt;p&gt;SMOF (MOF support for Semantic Structures) was accepted for adoption as a standard.&amp;nbsp; This is an important element because it will help enable the eventual refactoring/simplification/unbundling of UML, hence enabling it to be a better match to modern technologies.&amp;nbsp; It now goes into finalization (which I am co-chairing), and should become a published standard towards the end of 2011. &lt;/p&gt;
&lt;p&gt;We&amp;rsquo;re still working on the roadmap past UML 2.5, but I believe that one of the first things on that roadmap should be a replacement of the UML Profile facility with a better-integrated capability based on SMOF.&amp;nbsp;&amp;nbsp; How UML profiles actually work is a mess, and although some of them are increasingly popular (SysML, SoaML, UPDM, and more) it is increasingly difficult to manage the complexity and confusion that results from the poor definition of the profile mechanism.&amp;nbsp; Fixing and enhancing this will really help UML derivatives to take off.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10068264" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/stevecook/archive/tags/UML/">UML</category></item><item><title>Domain Specific Development book website updated for VS2010</title><link>http://blogs.msdn.com/b/stevecook/archive/2010/08/20/domain-specific-development-book-website-updated-for-vs2010.aspx</link><pubDate>Fri, 20 Aug 2010 13:18:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10052421</guid><dc:creator>Steve Cook MSFT</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/stevecook/rsscomments.aspx?WeblogPostID=10052421</wfw:commentRss><comments>http://blogs.msdn.com/b/stevecook/archive/2010/08/20/domain-specific-development-book-website-updated-for-vs2010.aspx#comments</comments><description>&lt;p&gt;Our DSL Tools book website at &lt;a title="http://www.domainspecificdevelopment.com/" href="http://www.domainspecificdevelopment.com/"&gt;http://www.domainspecificdevelopment.com/&lt;/a&gt; has been updated with references to the latest SDK and documentation.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10052421" width="1" height="1"&gt;</description></item><item><title>The Road Ahead for UML</title><link>http://blogs.msdn.com/b/stevecook/archive/2010/06/07/the-road-ahead-for-uml.aspx</link><pubDate>Mon, 07 Jun 2010 10:00:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10020778</guid><dc:creator>Steve Cook MSFT</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/stevecook/rsscomments.aspx?WeblogPostID=10020778</wfw:commentRss><comments>http://blogs.msdn.com/b/stevecook/archive/2010/06/07/the-road-ahead-for-uml.aspx#comments</comments><description>&lt;p&gt;I have co-written a paper about the future of UML with &lt;a href="http://en.wikipedia.org/wiki/Ivar_Jacobson"&gt;Ivar Jacobson&lt;/a&gt;.&amp;nbsp; You can find it &lt;a href="http://www.drdobbs.com/architecture-and-design/224701702"&gt;here.&lt;/a&gt;&amp;nbsp; Let me know what you think!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10020778" width="1" height="1"&gt;</description></item><item><title>Syntropy book available online</title><link>http://blogs.msdn.com/b/stevecook/archive/2010/04/23/syntropy-book-available-online.aspx</link><pubDate>Fri, 23 Apr 2010 09:58:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10001411</guid><dc:creator>Steve Cook MSFT</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/stevecook/rsscomments.aspx?WeblogPostID=10001411</wfw:commentRss><comments>http://blogs.msdn.com/b/stevecook/archive/2010/04/23/syntropy-book-available-online.aspx#comments</comments><description>&lt;p&gt;Back in 1994 I co-authored a book on modelling with my colleague &lt;a href="http://jd-syntropy.blogspot.com/"&gt;John Daniels&lt;/a&gt;.&amp;nbsp; We called our approach “Syntropy”.&amp;nbsp; The book has been out of print for several years now.&amp;nbsp; Sales were modest, but it was quite influential.&amp;nbsp; The Object Constraint Language, which was developed at IBM by my team when I worked there later in the 1990s ended up as part of the UML and was heavily influenced by ideas from the book.&lt;/p&gt; &lt;p&gt;John has now made the book openly available online at &lt;a title="http://www.syntropy.co.uk/syntropy/designing-object-systems.pdf" href="http://www.syntropy.co.uk/syntropy/designing-object-systems.pdf"&gt;http://www.syntropy.co.uk/syntropy/designing-object-systems.pdf&lt;/a&gt;.&amp;nbsp; Please let me know if you have a look, and what you think.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10001411" width="1" height="1"&gt;</description></item><item><title>Why I signed up for SEMAT</title><link>http://blogs.msdn.com/b/stevecook/archive/2010/04/02/why-i-signed-up-for-semat.aspx</link><pubDate>Fri, 02 Apr 2010 16:28:07 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9989621</guid><dc:creator>Steve Cook MSFT</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/stevecook/rsscomments.aspx?WeblogPostID=9989621</wfw:commentRss><comments>http://blogs.msdn.com/b/stevecook/archive/2010/04/02/why-i-signed-up-for-semat.aspx#comments</comments><description>&lt;p&gt;I’ve recently become a signatory to &lt;a href="http://www.semat.org/bin/view"&gt;SEMAT&lt;/a&gt; (Software Engineering Method and Theory).&amp;nbsp; They’ve been trying to get me to sign up for some time but I resisted so far.&amp;nbsp; Why did I change my mind?&lt;/p&gt; &lt;p&gt;Originally, SEMAT was branded as “a revolution in software engineering”.&amp;nbsp; I didn’t like that: I’m old enough to have seen plenty of “revolutions” come and go.&amp;nbsp; I did not want to go down the revolution road again.&amp;nbsp; I decided to wait and see.&lt;/p&gt; &lt;p&gt;Now SEMAT has had its first &lt;a href="http://www.semat.org/pub/Main/SematZurichMarch2010/Zurich_meeting_report.pdf"&gt;workshop&lt;/a&gt; and seems to have made a good start.&amp;nbsp; The revolutionary language has vanished.&amp;nbsp; People that I greatly respect are involved.&amp;nbsp;&amp;nbsp; SEMAT now starts to look like an opportunity to make a difference.&lt;/p&gt; &lt;p&gt;Here is a quote from the workshop report that I really like, attributed to the late Robin Milner:&amp;nbsp; "&lt;em&gt;Language is the raw material of software engineering, rather as water is the raw material for hydraulic engineering&lt;/em&gt;".&lt;/p&gt; &lt;p&gt;This week, &lt;a href="http://blogs.msdn.com/stevecook/archive/2010/03/01/interviews-with-ivar-jacobson.aspx"&gt;Ivar&lt;/a&gt; asked me again: so this time I joined. Let’s see where it leads.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9989621" width="1" height="1"&gt;</description></item><item><title>Another OMG meeting is over</title><link>http://blogs.msdn.com/b/stevecook/archive/2010/03/26/another-omg-meeting-is-over.aspx</link><pubDate>Fri, 26 Mar 2010 17:45:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9985848</guid><dc:creator>Steve Cook MSFT</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/stevecook/rsscomments.aspx?WeblogPostID=9985848</wfw:commentRss><comments>http://blogs.msdn.com/b/stevecook/archive/2010/03/26/another-omg-meeting-is-over.aspx#comments</comments><description>&lt;p&gt;I’ve just finished the OMG meeting in Jacksonville.&amp;nbsp; I got my first taste of the Board of Directors: it was bigger than I thought, but otherwise much as I expected.&amp;nbsp; We had interesting procedural and technical moves to get some standards through the Architecture Board: the way that some tools generate XML schemas from UML models leaves much to be desired, especially when you discover the problems at the last minute.&lt;/p&gt; &lt;p&gt;For me the most productive meetings were the UML 2.4 Revision Task Force, and the Architectural Ecosystem SIG.&amp;nbsp; We’re busily fixing issues with XMI interoperability in preparation for the UML Specification Simplification which will happen during the latter half of this year; and we’re working out facilities for enabling integration of different modelling languages and sources of information, both inside the OMG and elsewhere.&amp;nbsp;&amp;nbsp; I am hoping that these facilities will eventually enable us to “unbundle” UML, i.e. to treat it as a loose federation of related modelling languages rather than the complicated monolith it is today.&lt;/p&gt; &lt;p&gt;I fly home this weekend.&amp;nbsp; Back there I will have some UML issue resolutions to write up, a talk to give about the role of modelling standards in Visual Studio, and some planning to do before my holiday at the end of next week.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9985848" width="1" height="1"&gt;</description></item><item><title>Interviews with Ivar Jacobson</title><link>http://blogs.msdn.com/b/stevecook/archive/2010/03/01/interviews-with-ivar-jacobson.aspx</link><pubDate>Mon, 01 Mar 2010 12:10:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9970803</guid><dc:creator>Steve Cook MSFT</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/stevecook/rsscomments.aspx?WeblogPostID=9970803</wfw:commentRss><comments>http://blogs.msdn.com/b/stevecook/archive/2010/03/01/interviews-with-ivar-jacobson.aspx#comments</comments><description>&lt;p&gt;Channel 9 has published seven interesting interviews with Ivar Jacobson, in which he gives an insider’s perspective on the history and development of UML, as well as promoting some of the things he is working on now.&amp;nbsp; There is some interesting historical background on UML. Now, Ivar sees UML as making a comeback, and names Microsoft – and me - as a main instigator.  &lt;p&gt;It is a pity that the sound is very quiet for some of the interviewer’s questions.  &lt;p&gt;Part 1: Ivar talks about his current work, some of his latest ideas and his passion. He also reveals why he is wearing pink socks!  &lt;p&gt;&lt;a href="http://channel9.msdn.com/posts/buzzfrog/Ivar-Jacobson-Part-1/"&gt;http://channel9.msdn.com/posts/buzzfrog/Ivar-Jacobson-Part-1/&lt;/a&gt;  &lt;p&gt;Part 2: The inside story of the history of UML; how did it all start? Who was involved? How did it become a standard and a success?  &lt;p&gt;&lt;a href="http://channel9.msdn.com/posts/buzzfrog/Interview-with-Ivar-Jacobson-Part-2/"&gt;http://channel9.msdn.com/posts/buzzfrog/Interview-with-Ivar-Jacobson-Part-2/&lt;/a&gt;  &lt;p&gt;Part 3: The fall of UML, and how the success faded away; what happened and why? Where did the critic come from? Ivar provides his take to the story.&amp;nbsp; &lt;p&gt;&lt;a href="http://channel9.msdn.com/posts/buzzfrog/Interview-with-Ivar-Jacobson-Part-3/"&gt;http://channel9.msdn.com/posts/buzzfrog/Interview-with-Ivar-Jacobson-Part-3/&lt;/a&gt;  &lt;p&gt;Part 4: The come-back of UML . What happens now, what is good and what still needs to improve? How will we use UML moving forward?  &lt;p&gt;&lt;a href="http://channel9.msdn.com/posts/buzzfrog/Interview-with-Ivar-Jacobson-Part-4/"&gt;http://channel9.msdn.com/posts/buzzfrog/Interview-with-Ivar-Jacobson-Part-4/&lt;/a&gt;  &lt;p&gt;Part 5: Fashion – how does it affect the software development industry? What can we do to change that? How is Ivar trying to change the industry?  &lt;p&gt;&lt;a href="http://channel9.msdn.com/posts/buzzfrog/Ivar-Jacobson-Part-5/"&gt;http://channel9.msdn.com/posts/buzzfrog/Ivar-Jacobson-Part-5/&lt;/a&gt;  &lt;p&gt;Part 6: Being smart - What does that mean and how can we do to become smarter? Learn about what Ivar means about “smart cases”.  &lt;p&gt;&lt;a href="http://channel9.msdn.com/posts/buzzfrog/Ivar-Jacobson-Part-6/"&gt;http://channel9.msdn.com/posts/buzzfrog/Ivar-Jacobson-Part-6/&lt;/a&gt;  &lt;p&gt;Part 7: The Future – what will happen in 5-10 years? Ivar talks about how it is now possible to leverage existing ideas through modern platforms and tools, that software needs to be built for people and how standards for both platforms and frameworks will make it easier to work together.  &lt;p&gt;&lt;a href="http://channel9.msdn.com/posts/buzzfrog/Interview-with-Ivar-Jacobson-Part-7/"&gt;http://channel9.msdn.com/posts/buzzfrog/Interview-with-Ivar-Jacobson-Part-7/&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9970803" width="1" height="1"&gt;</description></item><item><title>Speaking at Microsoft Architect Insight Conference</title><link>http://blogs.msdn.com/b/stevecook/archive/2010/01/29/speaking-at-microsoft-architect-insight-conference.aspx</link><pubDate>Fri, 29 Jan 2010 10:29:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9955238</guid><dc:creator>Steve Cook MSFT</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/stevecook/rsscomments.aspx?WeblogPostID=9955238</wfw:commentRss><comments>http://blogs.msdn.com/b/stevecook/archive/2010/01/29/speaking-at-microsoft-architect-insight-conference.aspx#comments</comments><description>&lt;p&gt;I shall be speaking at the &lt;a href="http://www.microsoft.com/uk/aic2010"&gt;Microsoft Architect Insight Conference&lt;/a&gt; on 31st March, soon after arriving back from the next OMG meeting in Jacksonville.&amp;nbsp; My topic will be “The Role of Modeling Standards in Visual Studio 2010” and I’m planning to talk about the future development of UML and how it is used for visualizing and developing software designs within Visual Studio 2010.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9955238" width="1" height="1"&gt;</description></item><item><title>Visual Studio 2010 and .Net Framework Beta 2 is available</title><link>http://blogs.msdn.com/b/stevecook/archive/2009/10/20/visual-studio-2010-and-net-framework-beta-2-is-available.aspx</link><pubDate>Tue, 20 Oct 2009 09:17:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9909777</guid><dc:creator>Steve Cook MSFT</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/stevecook/rsscomments.aspx?WeblogPostID=9909777</wfw:commentRss><comments>http://blogs.msdn.com/b/stevecook/archive/2009/10/20/visual-studio-2010-and-net-framework-beta-2-is-available.aspx#comments</comments><description>&lt;p&gt;We’ve all been working very hard on beta 2 which is now available – see &lt;a href="http://blogs.msdn.com/camerons/archive/2009/10/19/visual-studio-2010-and-net-framework-4-beta-2.aspx" target="_blank"&gt;Cameron's announcement&lt;/a&gt;.&amp;nbsp; I’ve been particularly working on the API for creating, accessing and updating UML models.&lt;/p&gt; &lt;p&gt;Cameron has also started a series of posts entitled &lt;a href="http://blogs.msdn.com/camerons/archive/2009/10/19/modeling-and-visualization-in-visual-studio-2010-ultimate.aspx" target="_blank"&gt;Modeling and Visualization in Visual Studio 2010 Ultimate&lt;/a&gt; that will describe many of the features of forthcoming product.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9909777" width="1" height="1"&gt;</description></item><item><title>Reflections on the OMG meeting in San Antonio</title><link>http://blogs.msdn.com/b/stevecook/archive/2009/09/28/reflections-on-the-omg-meeting-in-san-antonio.aspx</link><pubDate>Mon, 28 Sep 2009 15:05:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9900222</guid><dc:creator>Steve Cook MSFT</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/stevecook/rsscomments.aspx?WeblogPostID=9900222</wfw:commentRss><comments>http://blogs.msdn.com/b/stevecook/archive/2009/09/28/reflections-on-the-omg-meeting-in-san-antonio.aspx#comments</comments><description>&lt;p&gt;I got back from San Antonio a week ago.&amp;nbsp;&amp;nbsp; The jetlag was bad this time; I’d been in the USA for two weeks and it’s taken me a week to get back to normal. San Antonio was a nice place to go.&amp;nbsp; The river walk was very enjoyable, and we had some great meals looking at it.&amp;nbsp; I’d just installed Windows 7 on my laptop, and I must say I’ve been enjoying that – it was a seamless process and just about everything seems to work better.&lt;/p&gt; &lt;p&gt;The UML roadmap achieved several important things this time.&amp;nbsp; First, we had a productive workshop on the Sunday, where many of the RFI respondents presented their views on where UML should be going.&amp;nbsp; There was a lot of agreement that UML is too complicated and we need to find a way to simplify it for normal people.&amp;nbsp; But nobody wants to destabilize the market by making major changes to UML, so we need to be measured on how we go about simplifying it.&amp;nbsp; We agreed that the specification itself is too cumbersome and we need to make it easier to maintain, by reorganizing the document and making better use of tools: so we kicked off a working group to do that.&amp;nbsp; And pretty much everybody agrees that genuine tool interoperability is increasingly important as the UML market matures, and to get that interoperability to work we need to remove the ambiguities and bugs.&lt;/p&gt; &lt;p&gt;UML 2.3 is essentially done, so it’s now going into the organizational and voting process that will end up with it being formally adopted; and we’ve kicked off a task force to work on UML 2.4.&amp;nbsp; Hopefully we can get the specification itself tooled up and sorted out over the next year, so that we can nail those outstanding ambiguities and bugs.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9900222" width="1" height="1"&gt;</description></item><item><title>Closing date for "Future Development of UML" RFI and workshop is 17th August</title><link>http://blogs.msdn.com/b/stevecook/archive/2009/07/31/closing-date-for-future-development-of-uml-rfi-and-workshop-is-17th-august.aspx</link><pubDate>Fri, 31 Jul 2009 15:06:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9854352</guid><dc:creator>Steve Cook MSFT</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/stevecook/rsscomments.aspx?WeblogPostID=9854352</wfw:commentRss><comments>http://blogs.msdn.com/b/stevecook/archive/2009/07/31/closing-date-for-future-development-of-uml-rfi-and-workshop-is-17th-august.aspx#comments</comments><description>&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT face=Calibri size=3&gt;Reminder: the closing date for submissions to the &lt;/FONT&gt;&lt;A href="http://www.omg.org/techprocess/meetings/schedule/Future_Development_of_UML_RFI.html"&gt;&lt;FONT face=Calibri size=3&gt;Future Development of UML RFI&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt; is the 17&lt;SUP&gt;th&lt;/SUP&gt; August.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-GB; mso-fareast-language: EN-GB; mso-bidi-language: AR-SA"&gt;There will be an all-day &lt;A href="http://www.omg.org/news/releases/pr2009/06-18-09.htm"&gt;workshop&lt;/A&gt; to discuss the responses to this RFI on Sunday 13&lt;SUP&gt;th&lt;/SUP&gt; September in San Antonio.&amp;nbsp; If you wish to present at this workshop, please make a proposal by email to &lt;A href="mailto:uml-roadmap-workshop@omg.org"&gt;&lt;FONT color=#0000ff&gt;uml-roadmap-workshop@omg.org&lt;/FONT&gt;&lt;/A&gt; by 17&lt;SUP&gt;th&lt;/SUP&gt; August.&amp;nbsp; &lt;/SPAN&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9854352" width="1" height="1"&gt;</description></item><item><title>Balls and Sockets in UML Components</title><link>http://blogs.msdn.com/b/stevecook/archive/2009/06/29/balls-and-sockets-in-uml-components.aspx</link><pubDate>Mon, 29 Jun 2009 14:09:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9808485</guid><dc:creator>Steve Cook MSFT</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/stevecook/rsscomments.aspx?WeblogPostID=9808485</wfw:commentRss><comments>http://blogs.msdn.com/b/stevecook/archive/2009/06/29/balls-and-sockets-in-uml-components.aspx#comments</comments><description>&lt;p&gt;In my last two posts I outlined the basic ideas of Parts, Ports and Connectors as they appear in Structured Classes.&amp;nbsp; This time I’m going to discuss Components, and in particular the changes we’ve been making in UML 2.3 so that the Components chapter is well-defined.&lt;/p&gt; &lt;p&gt;In the UML metamodel, Component is defined to be a subclass of Class.&amp;nbsp; As a consequence, a Component can contain Parts, Ports and Connectors just like any structured Class.&amp;nbsp; So what is extra about Components? – very little, in fact; so little that I think that the two notions should really be combined into one.&amp;nbsp; But that’s a topic for another day.&amp;nbsp; In fact the major feature introduced by Components is the ability to do “ball-and-socket" wiring between ports and parts.&amp;nbsp; Here is a Component with ball-and-socket wiring that is semantically equivalent to the Ordering System I described in my last post.&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/stevecook/WindowsLiveWriter/UMLComponents_A474/image_4.png"&gt;&lt;img title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="240" alt="image" src="http://blogs.msdn.com/blogfiles/stevecook/WindowsLiveWriter/UMLComponents_A474/image_thumb_1.png" width="479" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;You’ll see that the notation – which looks quite expressive - allows you to connect balls (representing provided interfaces) with sockets (representing required interfaces).&amp;nbsp; It shows that the :Ordering part requires the IQuery interface provided by the port on the Database components, and similarly the :Admin part requires the IAdmin interface.&lt;/p&gt; &lt;p&gt;This diagram looks like it connects interfaces to interfaces, and indeed the UML specification text frequently talks about connecting provided to required interfaces. The problem is that there is nothing in the UML metamodel that allows interfaces to be connected in this way.&amp;nbsp; Although visually the balls are connected to the sockets, in fact it is the ports and parts that are connected, and the depiction of the interfaces is just a notational convenience.&amp;nbsp; With the model above, this is ok.&amp;nbsp; But now consider a diagram like the following:&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/stevecook/WindowsLiveWriter/UMLComponents_A474/image_7.png"&gt;&lt;img title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="144" alt="image" src="http://blogs.msdn.com/blogfiles/stevecook/WindowsLiveWriter/UMLComponents_A474/image_thumb_2.png" width="586" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;The diagram appears perfectly plausible.&amp;nbsp; But in fact the connectors between :First and :Second, and :Second and :Third, provide no way to identify the fact that :First consumes the interface that :Second provides, and :Second consumes the interface that :Third provides.&amp;nbsp; Because there is no way in UML to identify a connector with an interface and a direction, the diagram’s mapping to the model is ambiguous: the same model would also map to a diagram with the interface provision/consumptions reversed.&amp;nbsp; Semantically, of course, that would be a completely different system.&lt;/p&gt; &lt;p&gt;This is the kind of problem that the UML Revision Task Force frequently has to deal with.&amp;nbsp; For this particular problem, we identified three possible solutions:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Abolish ball-and-socket wiring altogether;  &lt;li&gt;Restrict ball-and-socket wiring to simple ports, i.e. ports with only one provided or required interface;  &lt;li&gt;Enhance the UML metamodel so that a connector can be associated with an interface and a direction.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;After much discussion and some voting, the Task Force decided on solution 2.&amp;nbsp; Abolishing ball-and-socket wiring altogether seemed rather draconian, although there were certainly strong advocates for doing it.&amp;nbsp; Enhancing the UML metamodel was thought suspect because the resulting structures would effectively duplicate the existing semantics of Ports.&amp;nbsp; So in UML 2.3, ball-and-socket wiring will only be valid between simple Ports.&lt;/p&gt; &lt;p&gt;In the Component designer of our VSTS 2010 Architecture product we do not implement ball-and-socket notation; instead we show balls and sockets on simple ports with connectors between them, which is a further notation option that is semantically identical to the figure above, but gives more layout flexibility and allows the diagrams to scale better.&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/stevecook/WindowsLiveWriter/UMLComponents_A474/image_11.png"&gt;&lt;img title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="246" alt="image" src="http://blogs.msdn.com/blogfiles/stevecook/WindowsLiveWriter/UMLComponents_A474/image_thumb_4.png" width="937" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Incidentally, the UML diagrams earlier in this sequence of posts were produced using Pavel Hruby’s excellent &lt;a title="http://www.softwarestencils.com/uml/index.html" href="http://www.softwarestencils.com/uml/index.html"&gt;Visio stencils&lt;/a&gt; for UML 2, which I find very useful for rapidly creating no-frills UML drawings when no semantic model is needed.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9808485" width="1" height="1"&gt;</description></item></channel></rss>