<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: On code and diagrams</title>
	<atom:link href="http://abstratt.com/blog/2008/05/05/on-code-and-diagrams/feed/" rel="self" type="application/rss+xml" />
	<link>http://abstratt.com/blog/2008/05/05/on-code-and-diagrams/</link>
	<description>A company obsessed with one single goal: stopping people from writing so much code</description>
	<pubDate>Fri, 12 Mar 2010 23:39:27 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>By: On code being model - maybe not what you think &#124; abstratt: news from the front</title>
		<link>http://abstratt.com/blog/2008/05/05/on-code-and-diagrams/#comment-812</link>
		<dc:creator>On code being model - maybe not what you think &#124; abstratt: news from the front</dc:creator>
		<pubDate>Mon, 04 May 2009 02:04:22 +0000</pubDate>
		<guid isPermaLink="false">http://abstratt.com/blog/2008/05/05/why-we-write-code-and-dont-just-draw-diagrams/#comment-812</guid>
		<description>[...] aren&#8217;t always graphical&#8221; - of course not. I have written about that before here. The TextUML Toolkit is only one of many initiatives that promote textual notations for [...]</description>
		<content:encoded><![CDATA[<p>[...] aren&#8217;t always graphical&#8221; - of course not. I have written about that before here. The TextUML Toolkit is only one of many initiatives that promote textual notations for [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: rchaves</title>
		<link>http://abstratt.com/blog/2008/05/05/on-code-and-diagrams/#comment-72</link>
		<dc:creator>rchaves</dc:creator>
		<pubDate>Thu, 15 May 2008 04:46:03 +0000</pubDate>
		<guid isPermaLink="false">http://abstratt.com/blog/2008/05/05/why-we-write-code-and-dont-just-draw-diagrams/#comment-72</guid>
		<description>Hi Andreas,

Thanks for your comments, glad to hear from you again. You make interesting points, as usual.
&lt;em&gt;
&gt; let’s not forget that the UML defines 13 diagram types
&gt; and TextUML only addresses the class diagram
&gt; (static structure).
&lt;/em&gt;
True. However, even though I can't think of a single UML diagram type for which a textual notation could not at least do the job, supporting them all is &lt;em&gt;not&lt;/em&gt; the goal of the TextUML Toolkit.

The goal is to support &lt;em&gt;enough features&lt;/em&gt; of UML to enable &lt;strong&gt;basic&lt;/strong&gt; (elaboration-style) model-driven development - described in the post on &lt;a href="http://abstratt.com/blog/2007/05/12/uml-modes-and-tools/" rel="nofollow"&gt;UML modes&lt;/a&gt; as &lt;em&gt;UML as blueprint&lt;/em&gt; .

So, yes, the usefulness of the TextUML Toolkit is limited to what you can do if you restrict yourself to modeling structure only. But many (most?) of the code generation tools in the market have the same limitation, and they are quite useful.
&lt;em&gt;
&gt; What about designing and/or documenting complex
&gt; interactions with sequence diagrams?
&gt; A control flow with activity diagrams?
&gt; A state machine with a state machine diagram?
&gt; A system architecture with a deployment diagram?
&lt;/em&gt;
My interest in UML is primarily as a language for model-driven development. That, for starters, excludes diagrams such as use case, sequence, object and communication/collaboration diagrams. Those basically support the UML mode known as &lt;em&gt;UML as draft&lt;/em&gt;.

And even though some other diagrams can be useful in the context of MDD (deployment and package, for instance), they are not really essential.

The only diagrams I think are &lt;em&gt;really&lt;/em&gt; important in the context of model-driven development are the class, activity and state diagrams. Actually, depending on what/how you are building, you can get by with the first (which is the core diagram in UML) and one of the other two.
&lt;em&gt;
&gt; In addition, the static structure of the code is usually
&gt; the “easy part”. The hard part are the dynamics and
&gt; interactions.
&lt;/em&gt;
Totally agree!
&lt;em&gt;
&gt; So - a bit evil minded - I could say that
&gt; TextUML only addresses the parts of a software
&gt; system that cause only a fraction of the overall effort
&gt; of creating a complex software system.
&lt;/em&gt;
You are right if we take into account what you can see in the TextUML Toolkit. But in a larger product I have been working on for quite a while now (I called it &lt;em&gt;Corcova&lt;/em&gt; in the past), which is the sole reason the TextUML Toolkit product exists, you can model activities using (action language-style) TextUML and can do cool things that are only possible if you go beyond the structural aspects (in the spirit of &lt;em&gt;UML as programming language&lt;/em&gt;, mentioned in that &lt;a href="http://abstratt.com/blog/2007/05/12/uml-modes-and-tools/" rel="nofollow"&gt;same post&lt;/a&gt;.

I plan to write in more detail about this sometime this summer, hopefully along with a cool demo! But if you have more questions/comments, I will be glad to exchange more ideas on the subject.</description>
		<content:encoded><![CDATA[<p>Hi Andreas,</p>
<p>Thanks for your comments, glad to hear from you again. You make interesting points, as usual.<br />
<em><br />
> let’s not forget that the UML defines 13 diagram types<br />
> and TextUML only addresses the class diagram<br />
> (static structure).<br />
</em><br />
True. However, even though I can&#8217;t think of a single UML diagram type for which a textual notation could not at least do the job, supporting them all is <em>not</em> the goal of the TextUML Toolkit.</p>
<p>The goal is to support <em>enough features</em> of UML to enable <strong>basic</strong> (elaboration-style) model-driven development - described in the post on <a href="http://abstratt.com/blog/2007/05/12/uml-modes-and-tools/" rel="nofollow">UML modes</a> as <em>UML as blueprint</em> .</p>
<p>So, yes, the usefulness of the TextUML Toolkit is limited to what you can do if you restrict yourself to modeling structure only. But many (most?) of the code generation tools in the market have the same limitation, and they are quite useful.<br />
<em><br />
> What about designing and/or documenting complex<br />
> interactions with sequence diagrams?<br />
> A control flow with activity diagrams?<br />
> A state machine with a state machine diagram?<br />
> A system architecture with a deployment diagram?<br />
</em><br />
My interest in UML is primarily as a language for model-driven development. That, for starters, excludes diagrams such as use case, sequence, object and communication/collaboration diagrams. Those basically support the UML mode known as <em>UML as draft</em>.</p>
<p>And even though some other diagrams can be useful in the context of MDD (deployment and package, for instance), they are not really essential.</p>
<p>The only diagrams I think are <em>really</em> important in the context of model-driven development are the class, activity and state diagrams. Actually, depending on what/how you are building, you can get by with the first (which is the core diagram in UML) and one of the other two.<br />
<em><br />
> In addition, the static structure of the code is usually<br />
> the “easy part”. The hard part are the dynamics and<br />
> interactions.<br />
</em><br />
Totally agree!<br />
<em><br />
> So - a bit evil minded - I could say that<br />
> TextUML only addresses the parts of a software<br />
> system that cause only a fraction of the overall effort<br />
> of creating a complex software system.<br />
</em><br />
You are right if we take into account what you can see in the TextUML Toolkit. But in a larger product I have been working on for quite a while now (I called it <em>Corcova</em> in the past), which is the sole reason the TextUML Toolkit product exists, you can model activities using (action language-style) TextUML and can do cool things that are only possible if you go beyond the structural aspects (in the spirit of <em>UML as programming language</em>, mentioned in that <a href="http://abstratt.com/blog/2007/05/12/uml-modes-and-tools/" rel="nofollow">same post</a>.</p>
<p>I plan to write in more detail about this sometime this summer, hopefully along with a cool demo! But if you have more questions/comments, I will be glad to exchange more ideas on the subject.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andreas</title>
		<link>http://abstratt.com/blog/2008/05/05/on-code-and-diagrams/#comment-73</link>
		<dc:creator>Andreas</dc:creator>
		<pubDate>Wed, 14 May 2008 20:03:00 +0000</pubDate>
		<guid isPermaLink="false">http://abstratt.com/blog/2008/05/05/why-we-write-code-and-dont-just-draw-diagrams/#comment-73</guid>
		<description>Hello Rafael,

let's not forget that the UML defines 13 diagram types and TextUML only addresses the class diagram (static structure).
What about designing and/or documenting complex interactions with sequence diagrams?
A control flow with activity diagrams?
A state machine with a state machine diagram?
A system architecture with a deployment diagram?
While the static structure of a software system is relatively easy to grasp (anyway, the first thing I do when looking at new code is run Doxygen on it and look at the nice diagrams generated from the code) the dynamic aspects are deeply hidden in code and they can be very hard to discover. A current diagram with the right abstraction level can give you more insight than weeks of reading code.
In addition, the static structure of the code is usually the "easy part". The hard part are the dynamics and interactions. So - a bit evil minded - I could say that TextUML only addresses the parts of a software system that cause only a fraction of the overall effort of creating a complex software system.

Best regards,
Andreas</description>
		<content:encoded><![CDATA[<p>Hello Rafael,</p>
<p>let&#8217;s not forget that the UML defines 13 diagram types and TextUML only addresses the class diagram (static structure).<br />
What about designing and/or documenting complex interactions with sequence diagrams?<br />
A control flow with activity diagrams?<br />
A state machine with a state machine diagram?<br />
A system architecture with a deployment diagram?<br />
While the static structure of a software system is relatively easy to grasp (anyway, the first thing I do when looking at new code is run Doxygen on it and look at the nice diagrams generated from the code) the dynamic aspects are deeply hidden in code and they can be very hard to discover. A current diagram with the right abstraction level can give you more insight than weeks of reading code.<br />
In addition, the static structure of the code is usually the &#8220;easy part&#8221;. The hard part are the dynamics and interactions. So - a bit evil minded - I could say that TextUML only addresses the parts of a software system that cause only a fraction of the overall effort of creating a complex software system.</p>
<p>Best regards,<br />
Andreas</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: rchaves</title>
		<link>http://abstratt.com/blog/2008/05/05/on-code-and-diagrams/#comment-74</link>
		<dc:creator>rchaves</dc:creator>
		<pubDate>Mon, 05 May 2008 08:22:05 +0000</pubDate>
		<guid isPermaLink="false">http://abstratt.com/blog/2008/05/05/why-we-write-code-and-dont-just-draw-diagrams/#comment-74</guid>
		<description>Repercussion on InfoQ:

http://www.infoq.com/news/2007/11/pictures-or-words</description>
		<content:encoded><![CDATA[<p>Repercussion on InfoQ:</p>
<p><a href="http://www.infoq.com/news/2007/11/pictures-or-words" rel="nofollow">http://www.infoq.com/news/2007/11/pictures-or-words</a></p>
]]></content:encoded>
	</item>
</channel>
</rss>
