<?xml version="1.0" encoding="UTF-8"?>
<!--Generated by Squarespace Site Server v5.11.81 (http://www.squarespace.com/) on Wed, 30 May 2012 04:17:18 GMT--><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>News</title><link>http://www.miuml.org/news/</link><description></description><lastBuildDate>Fri, 13 Apr 2012 19:45:49 +0000</lastBuildDate><copyright></copyright><language>en-US</language><generator>Squarespace Site Server v5.11.81 (http://www.squarespace.com/)</generator><item><title>Cmd line interpreter</title><dc:creator>Leon Starr</dc:creator><pubDate>Fri, 13 Apr 2012 19:20:29 +0000</pubDate><link>http://www.miuml.org/news/2012/4/13/cmd-line-interpreter.html</link><guid isPermaLink="false">1023556:12479162:15831093</guid><description><![CDATA[<p>To ease testing, and make the overall interface easier to play with, I am building an interactive command interpreter in Python 3.2. &nbsp;The user will be able to type in a simple command (or load a file) using a vocabulary like: &lt;metamodel class&gt; [&lt;op&gt; [&lt;prop&gt;]],... &lt;scope&gt; with some helpful scoping commands so that you don't have to keep re-entering the same domain name. &nbsp;An example session might look like this:</p>
<p>* scope domain 'Banking'</p>
<p>* id add attr 'Branch name' class</p>
<p>(the second of which will invoke the UI_add_attr_to_id(...) db function)</p>
<p>And, of course, a simple help system.</p>
<p>Should have it working by the end of the weekend if all goes well.</p>]]></description><wfw:commentRss>http://www.miuml.org/news/rss-comments-entry-15831093.xml</wfw:commentRss></item><item><title>2.0 API Code Posted</title><dc:creator>Leon Starr</dc:creator><pubDate>Tue, 03 Apr 2012 01:21:43 +0000</pubDate><link>http://www.miuml.org/news/2012/4/2/20-api-code-posted.html</link><guid isPermaLink="false">1023556:12479162:15700280</guid><description><![CDATA[<p>The 1.0 API supported class model editing only. &nbsp;The 2.0 update, now avaiable from the 'All The Code' link to the right, includes support for state model editing. &nbsp;Basically, the code just doubled in size.</p>
<p>I have just written an extensive README file at the top of the file tree to help you get everything installed and working on your platform.</p>
<p>There is still an issue we are resolving with respect to the way polymorphic events should be handled. &nbsp;And a couple of other issues just surfaced which may lead to some interesting changes in the next month or two. &nbsp;I will keep you posted.</p>
<p>Also, I am starting work on a Python3 wrapper to provide a non-SQL interface to the metamodel. &nbsp;This will also give me a more robust testing environment.</p>
<p>&nbsp;</p>]]></description><wfw:commentRss>http://www.miuml.org/news/rss-comments-entry-15700280.xml</wfw:commentRss></item><item><title>Latest Progress</title><dc:creator>Leon Starr</dc:creator><pubDate>Tue, 20 Mar 2012 16:45:44 +0000</pubDate><link>http://www.miuml.org/news/2012/3/20/latest-progress.html</link><guid isPermaLink="false">1023556:12479162:15512125</guid><description><![CDATA[<p>Work on the State/Poly API/Editor was slowed a bit this month with many distractions. &nbsp;And the delegation issue (see previous posts) didn't help things either! &nbsp;That said, it's still progressing nicely. &nbsp;I've got all of the key edit functions working yesterday and now need to backfill the queries (see the State API spreadsheet) and do a little more testing all around. &nbsp;It looks like I'll be posting all the code by the end of the month, if all goes well.</p>]]></description><wfw:commentRss>http://www.miuml.org/news/rss-comments-entry-15512125.xml</wfw:commentRss></item><item><title>Updated Poly Subsystem</title><dc:creator>Leon Starr</dc:creator><pubDate>Thu, 15 Mar 2012 23:47:22 +0000</pubDate><link>http://www.miuml.org/news/2012/3/15/updated-poly-subsystem.html</link><guid isPermaLink="false">1023556:12479162:15454691</guid><description><![CDATA[<p>To accommodate polymorphic delegation along compound generalizations (supporting case 2 as described in the previous post), the Polymorphism Subsystem has been updated. &nbsp;Note the inclusion of the Delegation Direction class. &nbsp;Also R551 was removed since it's now a many-many association between a Poly Event Spec's Class and any Generalizations stemming from it. &nbsp;This multiplicity is handled by R569 now.</p>
<p>The State API has been updated accordingly, note differences in the UI_delegate_event, UI_delete_event and UI_new_polymorphic_event calls.</p>]]></description><wfw:commentRss>http://www.miuml.org/news/rss-comments-entry-15454691.xml</wfw:commentRss></item><item><title>Testing Polymorphism</title><dc:creator>Leon Starr</dc:creator><pubDate>Mon, 12 Mar 2012 01:32:33 +0000</pubDate><link>http://www.miuml.org/news/2012/3/11/testing-polymorphism.html</link><guid isPermaLink="false">1023556:12479162:15393050</guid><description><![CDATA[<p>A conversation with Andrew Mangogna revealed that he and I had two different, and conflicting interpretations of how polymorphic events are supposed to be delegated on a compound generalization (multiple specializations from the same class as illustrated). &nbsp;Unfortunately, the Mellor-Balcer Executable UML book, specifically rule 6, p228 is ambiguous:</p>
<blockquote>
<p class="p1">6. If a superclass has multiple specializations, the polymorphic&nbsp;signal occurrence is received by at most one state machine instance in&nbsp;<em>each</em> specialization hierarchy.</p>
</blockquote>
<p class="p1">The question being: &nbsp;Must an Event Specification declared as polymorphic on a Class be delegated down (1) ALL Generalizations rooted in that Class or (2) AT LEAST ONE. &nbsp;Both cases satisfy rule 6. &nbsp;In either case, a run-time event is guaranteed to be processed by at least one Subclass instance. &nbsp;In a given Generalization, again, in either case, each Subclass must define an Event Response for the delegated Event Specification unless there deeper delegation is specified (thorugh another level of Generalization).</p>
<p class="p1"><span class="full-image-block ssNonEditable"><span><img style="width: 450px;" src="http://www.miuml.org/storage/graphics/screenshots/Screen Shot 2012-03-11 at 6.30.14 PM.png?__SQUARESPACE_CACHEVERSION=1331517169250" alt="" /></span></span></p>
<p class="p1">Until we get this resolved (meeting with Stephen Mellor here in SF in a couple of weeks), the API will assume case (2) as it is the least restrictive and can be readily extended to case (1) if necessary.</p>]]></description><wfw:commentRss>http://www.miuml.org/news/rss-comments-entry-15393050.xml</wfw:commentRss></item><item><title>Collaboration Diagrams</title><dc:creator>Leon Starr</dc:creator><pubDate>Fri, 09 Mar 2012 18:34:53 +0000</pubDate><link>http://www.miuml.org/news/2012/3/9/collaboration-diagrams-1.html</link><guid isPermaLink="false">1023556:12479162:15366206</guid><description><![CDATA[<p>If, for some morbid reason, you find yourself poking through my API code, you may find these collaboration diagrams helpful. &nbsp;I have added them to the document register as td15. &nbsp;Link to them from there, or here in this post.</p>
<p><span class="full-image-block ssNonEditable"><span><a href="http://www.miuml.org/storage/downloads/class-model-subsystem/pdfs/miUML%20td15%20Class%20Model%20Editing%20Collaboration%20Diagrams.pdf"><img style="width: 450px;" src="http://www.miuml.org/storage/graphics/download-thumbnails/Class%20Subsys%20Collab.png?__SQUARESPACE_CACHEVERSION=1331318382658" alt="" /></a></span></span></p>
<p>PDF (click thumbnail) or <a href="http://www.miuml.org/storage/downloads/class-model-subsystem/omnigraffle/miUML%20td15%20Class%20Model%20Editing%20Collaboration%20Diagrams.graffle">Omnigraffle</a>.</p>
<p>&nbsp;</p>]]></description><wfw:commentRss>http://www.miuml.org/news/rss-comments-entry-15366206.xml</wfw:commentRss></item><item><title>Weekend Updates</title><dc:creator>Leon Starr</dc:creator><pubDate>Sun, 04 Mar 2012 18:48:43 +0000</pubDate><link>http://www.miuml.org/news/2012/3/4/weekend-updates.html</link><guid isPermaLink="false">1023556:12479162:15293463</guid><description><![CDATA[<p>The following files have been updated: &nbsp;Polymorphism Subsystem Class Diagram/Descriptions, Relationship Subsystem Class Diagram/Descriptions, Class and Attribute Subsystem Descriptions only. &nbsp;Changes: &nbsp;Poly - see previous news post, Relationship Subsys - Thanks to Dave Moten's eagle eyes for spotting R25 which should have been R23, Class / Relationship Descriptions, 'Specialized Class' description moved from Class to Relationship Subsystems (descriptions were out of sync with diagrams). &nbsp;As always, just use the existing links, they now point to updated files.</p>]]></description><wfw:commentRss>http://www.miuml.org/news/rss-comments-entry-15293463.xml</wfw:commentRss></item><item><title>Delegation Constraint Added</title><dc:creator>Leon Starr</dc:creator><pubDate>Sun, 04 Mar 2012 03:55:24 +0000</pubDate><link>http://www.miuml.org/news/2012/3/3/delegation-constraint-added.html</link><guid isPermaLink="false">1023556:12479162:15288987</guid><description><![CDATA[<p>In the process of coding up the API, I've discovered a missing constraint in the Polymorphism Subsystem. &nbsp;Due to rule #4 in Mellor-Balcer regarding polymorphism, it is critical that delegation of a polymorphic event proceed down exactly one Generalization. &nbsp;This is important when we have a compound generalization where multiple hierarchies sprout from the same Class. &nbsp;I will be posting an updated model by the close of the weekend with this constraint added.</p>]]></description><wfw:commentRss>http://www.miuml.org/news/rss-comments-entry-15288987.xml</wfw:commentRss></item><item><title>State Signature</title><dc:creator>Leon Starr</dc:creator><pubDate>Wed, 29 Feb 2012 01:04:33 +0000</pubDate><link>http://www.miuml.org/news/2012/2/28/state-signature.html</link><guid isPermaLink="false">1023556:12479162:15231903</guid><description><![CDATA[<p>In the process of coding up the API, I realized that R564 on the Poly Subsystem should be going to Destination and not State. &nbsp;Therefore, a Deletion Pseudo State also has a signature since, like a State, it may specify a Procedure (not yet modeled) and that Procedure will accept parameters. &nbsp;I will post an updated model later in the week. &nbsp;Back to coding...</p>]]></description><wfw:commentRss>http://www.miuml.org/news/rss-comments-entry-15231903.xml</wfw:commentRss></item><item><title>Poly Test Pattern</title><dc:creator>Leon Starr</dc:creator><pubDate>Sat, 25 Feb 2012 02:37:54 +0000</pubDate><link>http://www.miuml.org/news/2012/2/24/poly-test-pattern.html</link><guid isPermaLink="false">1023556:12479162:15177719</guid><description><![CDATA[<p>Here is a test pattern I am testing against this weekend on the poly subsystem API / Editor.<span class="thumbnail-image-block ssNonEditable"><span><a href="javascript:showFullImage('/display/ShowImage?imageUrl=%2Fstorage%2Fgraphics%2Fscreenshots%2FPoly%2520Test%2520Pattern.png%3F__SQUARESPACE_CACHEVERSION%3D1330137608365',693,1194);"><img src="http://www.miuml.org/storage/thumbnails/11750816-16793303-thumbnail.jpg?__SQUARESPACE_CACHEVERSION=1330137608366" alt="" /></a></span></span></p>]]></description><wfw:commentRss>http://www.miuml.org/news/rss-comments-entry-15177719.xml</wfw:commentRss></item></channel></rss>
