<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: &#8216;Bindedness&#8217; in metamodels</title>
	<atom:link href="http://weblog.tetradian.com/2009/05/03/binding-in-metamodel/feed/" rel="self" type="application/rss+xml" />
	<link>http://weblog.tetradian.com/2009/05/03/binding-in-metamodel/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=binding-in-metamodel</link>
	<description>Random ramblings over the metaphoric edge</description>
	<lastBuildDate>Sat, 19 May 2012 02:19:06 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Tom G</title>
		<link>http://weblog.tetradian.com/2009/05/03/binding-in-metamodel/comment-page-1/#comment-26270</link>
		<dc:creator>Tom G</dc:creator>
		<pubDate>Sun, 03 May 2009 17:21:30 +0000</pubDate>
		<guid isPermaLink="false">http://weblog.tomgraves.org/index.php/2009/05/03/binding-in-metamodel/#comment-26270</guid>
		<description>Richard - yup, very definitely agree that &quot;it involves a lot more than just changing the colour or thickness of a line on a model&quot;. But content and display of that content are two separate issues: the colour/line comment was about possible means to display modal difference within graphical models, not about the content or structure of modal-logic links.

Not quite sure what you mean by overdetermined / underdetermined: sounds a bit like what in the books I&#039;ve called &#039;completeness&#039; of patterns or composites - but expand, perhaps, if you would? Many thanks.</description>
		<content:encoded><![CDATA[<p>Richard &#8211; yup, very definitely agree that &#8220;it involves a lot more than just changing the colour or thickness of a line on a model&#8221;. But content and display of that content are two separate issues: the colour/line comment was about possible means to display modal difference within graphical models, not about the content or structure of modal-logic links.</p>
<p>Not quite sure what you mean by overdetermined / underdetermined: sounds a bit like what in the books I&#8217;ve called &#8216;completeness&#8217; of patterns or composites &#8211; but expand, perhaps, if you would? Many thanks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Richard Veryard</title>
		<link>http://weblog.tetradian.com/2009/05/03/binding-in-metamodel/comment-page-1/#comment-26268</link>
		<dc:creator>Richard Veryard</dc:creator>
		<pubDate>Sun, 03 May 2009 17:02:02 +0000</pubDate>
		<guid isPermaLink="false">http://weblog.tomgraves.org/index.php/2009/05/03/binding-in-metamodel/#comment-26268</guid>
		<description>I agree with Tom that bindedness is important. I think this means that the critical dichotomy we have to deal with in the metamodel isn&#039;t true/false but overdetermined/underdetermined. Flexibility in the model (and in the artefacts built from the model) comes from the bits that are underdetermined.

But this involves a lot more than just changing the colour or thickness of a line on a diagram.</description>
		<content:encoded><![CDATA[<p>I agree with Tom that bindedness is important. I think this means that the critical dichotomy we have to deal with in the metamodel isn&#8217;t true/false but overdetermined/underdetermined. Flexibility in the model (and in the artefacts built from the model) comes from the bits that are underdetermined.</p>
<p>But this involves a lot more than just changing the colour or thickness of a line on a diagram.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tom G</title>
		<link>http://weblog.tetradian.com/2009/05/03/binding-in-metamodel/comment-page-1/#comment-26267</link>
		<dc:creator>Tom G</dc:creator>
		<pubDate>Sun, 03 May 2009 17:01:30 +0000</pubDate>
		<guid isPermaLink="false">http://weblog.tomgraves.org/index.php/2009/05/03/binding-in-metamodel/#comment-26267</guid>
		<description>Hi Richard - The aim for the metamodel is to use as the base for an Open Source enterprise architecture toolset.

I take youur point about &quot;two metamodels&quot;, but this is arguably one step below both of those examples: it&#039;s the core metamodel (metametamodel?) which defines all possibilities within the toolset.

The standard first-order logic of true/false or exists/does-not-exist - which, as you say, we would need for a conventional data-model - is merely one type of logic that could be implemented in a modal-logic schema. We can specify that all links used in the respective model-types would be fixed as first-order logic - because first-order logic _is_ a mode within the modal-schema. If we have separate metamodels for different modal schemas, but which also share many other entity-types and attributes, we&#039;ll end up with a horrible mess of special-cases. Far simpler to build the modal-logic in at the root, and constrain it as required as we build model-types on top of that schema.

Incidentally, this is one reason why the mechanism I&#039;ve suggested for model-types - namely that model-types contain lists of link-types which in turn point to entity-types - is a heck of a lot simpler to drive at the metamodel level: constraining modality becomes part of the model-type definition, rather than buried somewhere in amongst a morass of proliferating link-types. To answer your last comment, in effect the model-type in this approach _is_ the &quot;context-driven rules&quot;.

Still a long way to go in working on this, obviously, but it is coming together at the thought-experiment level at least.</description>
		<content:encoded><![CDATA[<p>Hi Richard &#8211; The aim for the metamodel is to use as the base for an Open Source enterprise architecture toolset.</p>
<p>I take youur point about &#8220;two metamodels&#8221;, but this is arguably one step below both of those examples: it&#8217;s the core metamodel (metametamodel?) which defines all possibilities within the toolset.</p>
<p>The standard first-order logic of true/false or exists/does-not-exist &#8211; which, as you say, we would need for a conventional data-model &#8211; is merely one type of logic that could be implemented in a modal-logic schema. We can specify that all links used in the respective model-types would be fixed as first-order logic &#8211; because first-order logic _is_ a mode within the modal-schema. If we have separate metamodels for different modal schemas, but which also share many other entity-types and attributes, we&#8217;ll end up with a horrible mess of special-cases. Far simpler to build the modal-logic in at the root, and constrain it as required as we build model-types on top of that schema.</p>
<p>Incidentally, this is one reason why the mechanism I&#8217;ve suggested for model-types &#8211; namely that model-types contain lists of link-types which in turn point to entity-types &#8211; is a heck of a lot simpler to drive at the metamodel level: constraining modality becomes part of the model-type definition, rather than buried somewhere in amongst a morass of proliferating link-types. To answer your last comment, in effect the model-type in this approach _is_ the &#8220;context-driven rules&#8221;.</p>
<p>Still a long way to go in working on this, obviously, but it is coming together at the thought-experiment level at least.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Richard Veryard</title>
		<link>http://weblog.tetradian.com/2009/05/03/binding-in-metamodel/comment-page-1/#comment-26266</link>
		<dc:creator>Richard Veryard</dc:creator>
		<pubDate>Sun, 03 May 2009 16:42:56 +0000</pubDate>
		<guid isPermaLink="false">http://weblog.tomgraves.org/index.php/2009/05/03/binding-in-metamodel/#comment-26266</guid>
		<description>What is the metamodel for? How do you expect it to be used?

(Sometimes people building metamodels don&#039;t seem to be able to answer these questions, or look at you as if the question doesn&#039;t make sense to them. But I think they are important questions.)

If you are building or customizing a tool or repository, to be used within the context of some methodology, you may actually need two metamodels. One metamodel tells you what incomplete and possibly inconsistent stuff you are able to put into the tool for further refinement. And a second (probably more rigorous) metamodel tells you what consistency and completeness rules a given model must satisfy in order to proceed to the next stage. Alternatively, you can deal with these rules by defining quality policies and integrity rules against the first metamodel.

If the tool builders or methodologists don&#039;t understand the difference between these two, then the tool or methodology will either be too inflexible or insufficiently rigorous.

I am suspicious of optional rules (should/could), because this may lead simply to greater complexity and lower quality. I prefer to see context-driven rules. For example, your data model can be like this, but if you want to generate a database schema your data model must be like this.</description>
		<content:encoded><![CDATA[<p>What is the metamodel for? How do you expect it to be used?</p>
<p>(Sometimes people building metamodels don&#8217;t seem to be able to answer these questions, or look at you as if the question doesn&#8217;t make sense to them. But I think they are important questions.)</p>
<p>If you are building or customizing a tool or repository, to be used within the context of some methodology, you may actually need two metamodels. One metamodel tells you what incomplete and possibly inconsistent stuff you are able to put into the tool for further refinement. And a second (probably more rigorous) metamodel tells you what consistency and completeness rules a given model must satisfy in order to proceed to the next stage. Alternatively, you can deal with these rules by defining quality policies and integrity rules against the first metamodel.</p>
<p>If the tool builders or methodologists don&#8217;t understand the difference between these two, then the tool or methodology will either be too inflexible or insufficiently rigorous.</p>
<p>I am suspicious of optional rules (should/could), because this may lead simply to greater complexity and lower quality. I prefer to see context-driven rules. For example, your data model can be like this, but if you want to generate a database schema your data model must be like this.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tom G</title>
		<link>http://weblog.tetradian.com/2009/05/03/binding-in-metamodel/comment-page-1/#comment-26264</link>
		<dc:creator>Tom G</dc:creator>
		<pubDate>Sun, 03 May 2009 15:23:14 +0000</pubDate>
		<guid isPermaLink="false">http://weblog.tomgraves.org/index.php/2009/05/03/binding-in-metamodel/#comment-26264</guid>
		<description>Pat - once again, many thanks.

I don&#039;t have a simple answer: that&#039;s why I asked the question. :-) As Erik says above, modal-logics are probably the best way to tackle it in the formal sense, though I would prefer some much simpler mechanism such as the MoSCoW set (must, should, could, can wait). For now (or rather, for when we get closer to actual implementation of the core-metamodel) I&#039;ll probably start with something like the MoSCoW set, and ask Erik and others to help with the formal modal-logics if/when we get that far.

I&#039;ve just had a more in-depth look at SBVR: was disappointed to discover that it&#039;s still essentially first-order (true/false) logic, which the commentator then blithely said &quot;would cover most if not all business contexts&quot;, which it doesn&#039;t. Bah. ORM is closer, but I&#039;m still struggling with the pedantry of its modal logic when something simpler would fit the need much better. My head hurts... I ain&#039;t no mathematician, and that lack is really starting to show here! :-( :-)</description>
		<content:encoded><![CDATA[<p>Pat &#8211; once again, many thanks.</p>
<p>I don&#8217;t have a simple answer: that&#8217;s why I asked the question. <img src='http://weblog.tetradian.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  As Erik says above, modal-logics are probably the best way to tackle it in the formal sense, though I would prefer some much simpler mechanism such as the MoSCoW set (must, should, could, can wait). For now (or rather, for when we get closer to actual implementation of the core-metamodel) I&#8217;ll probably start with something like the MoSCoW set, and ask Erik and others to help with the formal modal-logics if/when we get that far.</p>
<p>I&#8217;ve just had a more in-depth look at SBVR: was disappointed to discover that it&#8217;s still essentially first-order (true/false) logic, which the commentator then blithely said &#8220;would cover most if not all business contexts&#8221;, which it doesn&#8217;t. Bah. ORM is closer, but I&#8217;m still struggling with the pedantry of its modal logic when something simpler would fit the need much better. My head hurts&#8230; I ain&#8217;t no mathematician, and that lack is really starting to show here! <img src='http://weblog.tetradian.com/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' />  <img src='http://weblog.tetradian.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pat Ferdinandi</title>
		<link>http://weblog.tetradian.com/2009/05/03/binding-in-metamodel/comment-page-1/#comment-26261</link>
		<dc:creator>Pat Ferdinandi</dc:creator>
		<pubDate>Sun, 03 May 2009 15:13:34 +0000</pubDate>
		<guid isPermaLink="false">http://weblog.tomgraves.org/index.php/2009/05/03/binding-in-metamodel/#comment-26261</guid>
		<description>Just an out of the blue thought. 

I understand the true/false logic problem. To me I always saw it as a black/white comparison where the world could always been somewhere in between (the print colors codes come to mine...pantone color code scheme). Would the accuracy or bindedness of the relationship be tied as a scale, the probability, or measure of stickiness or commonality?</description>
		<content:encoded><![CDATA[<p>Just an out of the blue thought. </p>
<p>I understand the true/false logic problem. To me I always saw it as a black/white comparison where the world could always been somewhere in between (the print colors codes come to mine&#8230;pantone color code scheme). Would the accuracy or bindedness of the relationship be tied as a scale, the probability, or measure of stickiness or commonality?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tom G</title>
		<link>http://weblog.tetradian.com/2009/05/03/binding-in-metamodel/comment-page-1/#comment-26258</link>
		<dc:creator>Tom G</dc:creator>
		<pubDate>Sun, 03 May 2009 14:27:02 +0000</pubDate>
		<guid isPermaLink="false">http://weblog.tomgraves.org/index.php/2009/05/03/binding-in-metamodel/#comment-26258</guid>
		<description>Colin - great! - would love to hear more on this.

The aim is to use the metamodel as a base for an Open Source enterprise-architecture toolset, drawing on the work that Charles Edwards has done at the Agile EA website - would you be interested in helping in this, or in contributing some of the metamodel work that you&#039;ve done?</description>
		<content:encoded><![CDATA[<p>Colin &#8211; great! &#8211; would love to hear more on this.</p>
<p>The aim is to use the metamodel as a base for an Open Source enterprise-architecture toolset, drawing on the work that Charles Edwards has done at the Agile EA website &#8211; would you be interested in helping in this, or in contributing some of the metamodel work that you&#8217;ve done?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Colin Wheeler</title>
		<link>http://weblog.tetradian.com/2009/05/03/binding-in-metamodel/comment-page-1/#comment-26257</link>
		<dc:creator>Colin Wheeler</dc:creator>
		<pubDate>Sun, 03 May 2009 14:13:19 +0000</pubDate>
		<guid isPermaLink="false">http://weblog.tomgraves.org/index.php/2009/05/03/binding-in-metamodel/#comment-26257</guid>
		<description>Hi Tom,

I have a metamodel that we use already for this purpose and we rate it along with a pyramid completeness model as well as a benefit model to define nature of the relationships on the Moscow model that you were talking about above.  The basis for each relationship must be set by the stakeholder that needs that relationship formed and they must justify those decisions.  The metamodel itself is recursive so that the level of detail that is achieved is always the minimum practical level that is useful.

Cheers
Colin Wheeler</description>
		<content:encoded><![CDATA[<p>Hi Tom,</p>
<p>I have a metamodel that we use already for this purpose and we rate it along with a pyramid completeness model as well as a benefit model to define nature of the relationships on the Moscow model that you were talking about above.  The basis for each relationship must be set by the stakeholder that needs that relationship formed and they must justify those decisions.  The metamodel itself is recursive so that the level of detail that is achieved is always the minimum practical level that is useful.</p>
<p>Cheers<br />
Colin Wheeler</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tom G</title>
		<link>http://weblog.tetradian.com/2009/05/03/binding-in-metamodel/comment-page-1/#comment-26256</link>
		<dc:creator>Tom G</dc:creator>
		<pubDate>Sun, 03 May 2009 14:09:32 +0000</pubDate>
		<guid isPermaLink="false">http://weblog.tomgraves.org/index.php/2009/05/03/binding-in-metamodel/#comment-26256</guid>
		<description>Erik - thanks very much for this - is much appreciated (as also our Friday conversation).

Modal logics would be a huge advance on binary logic, and will definitely help (though I do wish they weren&#039;t so damn impenetrable apparently for the sake of impenetrability! :-) ). As we get a bit further down the track, though, I&#039;m wary of falling into the old &#039;analysis trap&#039; of trying to use logic where logic itself is misleading. I know it&#039;s only a crude analogy, but the &#039;quantum point&#039; analogue for the moment of sale in a sales process indicates a point where any conventional logic is probably out of scope - and I suspect that would apply to all principle-based decision-making in the chaotic &#039;market-of-one&#039; domains.

In Cynefin terms, binary logics apply in the two order-based domains - rule-based and analytic - but fail in the non-ordered domains - complex and chaotic. Modal-logics would probably work quite well in the complex-domain, but I suspect - as above - that they would fail in the chaotic-domain. (They would fail in wicked-problems for much the same reasons.) For EA models, we probably can&#039;t model as such in the chaotic-domain - precisely because we can&#039;t get a logic to work there - but we should at least be able to indicate that the standard logic-rules do not and cannot apply, hence a warning within the model that we shouldn&#039;t attempt to use them in that specific context. That alone would help to cut down on the number of foolish attempts to apply IT-based &#039;solutions&#039; in contexts where, by definition, their binary logic cannot succeed.</description>
		<content:encoded><![CDATA[<p>Erik &#8211; thanks very much for this &#8211; is much appreciated (as also our Friday conversation).</p>
<p>Modal logics would be a huge advance on binary logic, and will definitely help (though I do wish they weren&#8217;t so damn impenetrable apparently for the sake of impenetrability! <img src='http://weblog.tetradian.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  ). As we get a bit further down the track, though, I&#8217;m wary of falling into the old &#8216;analysis trap&#8217; of trying to use logic where logic itself is misleading. I know it&#8217;s only a crude analogy, but the &#8216;quantum point&#8217; analogue for the moment of sale in a sales process indicates a point where any conventional logic is probably out of scope &#8211; and I suspect that would apply to all principle-based decision-making in the chaotic &#8216;market-of-one&#8217; domains.</p>
<p>In Cynefin terms, binary logics apply in the two order-based domains &#8211; rule-based and analytic &#8211; but fail in the non-ordered domains &#8211; complex and chaotic. Modal-logics would probably work quite well in the complex-domain, but I suspect &#8211; as above &#8211; that they would fail in the chaotic-domain. (They would fail in wicked-problems for much the same reasons.) For EA models, we probably can&#8217;t model as such in the chaotic-domain &#8211; precisely because we can&#8217;t get a logic to work there &#8211; but we should at least be able to indicate that the standard logic-rules do not and cannot apply, hence a warning within the model that we shouldn&#8217;t attempt to use them in that specific context. That alone would help to cut down on the number of foolish attempts to apply IT-based &#8216;solutions&#8217; in contexts where, by definition, their binary logic cannot succeed.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Erik Proper</title>
		<link>http://weblog.tetradian.com/2009/05/03/binding-in-metamodel/comment-page-1/#comment-26255</link>
		<dc:creator>Erik Proper</dc:creator>
		<pubDate>Sun, 03 May 2009 13:43:03 +0000</pubDate>
		<guid isPermaLink="false">http://weblog.tomgraves.org/index.php/2009/05/03/binding-in-metamodel/#comment-26255</guid>
		<description>Things become even more fun if we realise that we apply a &quot;closed world semantics&quot; to our models. If something is not stated in the model, we generally hold it to be false.

If we regard a model as a set of logic-based statements (which SBVR does in my opinion, as does ORM), then we can import a lot from logic. In the field of logic there are other logics other than the first-order predicate logic (dominant in IT thinking), and add relevant modal operators (must, should, usually, etc) to our model statements. Even more, adding forms of &quot;Default reasoning&quot; would allow us to do more useful things with reference models as a &quot;knowledge theory&quot;.</description>
		<content:encoded><![CDATA[<p>Things become even more fun if we realise that we apply a &#8220;closed world semantics&#8221; to our models. If something is not stated in the model, we generally hold it to be false.</p>
<p>If we regard a model as a set of logic-based statements (which SBVR does in my opinion, as does ORM), then we can import a lot from logic. In the field of logic there are other logics other than the first-order predicate logic (dominant in IT thinking), and add relevant modal operators (must, should, usually, etc) to our model statements. Even more, adding forms of &#8220;Default reasoning&#8221; would allow us to do more useful things with reference models as a &#8220;knowledge theory&#8221;.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

