<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tom Graves / Tetradian &#187; SBVR</title>
	<atom:link href="http://weblog.tetradian.com/tag/sbvr/feed/" rel="self" type="application/rss+xml" />
	<link>http://weblog.tetradian.com</link>
	<description>Random ramblings over the metaphoric edge</description>
	<lastBuildDate>Wed, 23 May 2012 13:46:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>&#8216;Bindedness&#8217; in metamodels</title>
		<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>
		<comments>http://weblog.tetradian.com/2009/05/03/binding-in-metamodel/#comments</comments>
		<pubDate>Sun, 03 May 2009 13:31:31 +0000</pubDate>
		<dc:creator>Tom G</dc:creator>
				<category><![CDATA[Complexity / Structure]]></category>
		<category><![CDATA[Enterprise architecture]]></category>
		<category><![CDATA[Knowledge]]></category>
		<category><![CDATA[alethic]]></category>
		<category><![CDATA[bindedness]]></category>
		<category><![CDATA[deontic]]></category>
		<category><![CDATA[metamodel]]></category>
		<category><![CDATA[metamodels]]></category>
		<category><![CDATA[requirements]]></category>
		<category><![CDATA[SBVR]]></category>
		<category><![CDATA[Volere]]></category>

		<guid isPermaLink="false">http://weblog.tomgraves.org/index.php/2009/05/03/binding-in-metamodel/</guid>
		<description><![CDATA[A long post-TOGAF conversation on Friday with enterprise architect and academic Erik Proper brought up the question of what I&#8217;ve been calling &#8216;bindedness&#8217; in metamodels and compliance reference models for enterprise architecture. In conventional models and metamodels, links between items are kind of binary: if they exist, they apply every time, and if they aren&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>A long post-TOGAF conversation on Friday with enterprise architect and academic <a href="http://www.erikproper.eu/" title="Erik Proper main website">Erik Proper</a> brought up the question of what I&#8217;ve been calling &#8216;bindedness&#8217; in metamodels and compliance reference models for enterprise architecture.</p>
<p>In conventional models and metamodels, links between items are kind of binary: if they exist, they apply every time, and if they aren&#8217;t in the model, they&#8217;re deemed not to apply at all. It fits well with the standard rule-based world of IT, which is why we see them so often in all manner of IT-type models, from data-models to process-models to <a href="http://www.opengroup.org/archimate/doc/ts_archimate/" title="ArchiMate technical-standard">ArchiMate</a> layered models, and so on.</p>
<p>The catch is that that isn&#8217;t how things work in the real world. The reality is described well in <a href="http://www.volere.co.uk" title="Volere requirements-modelling">Volere</a> requirements modelling: rather than a simple true/false or &#8216;is-required&#8217; / &#8216;is-not-required&#8217;, the template allows for at least five levels of &#8216;bindedness&#8217;, in two different directions (satisfaction if present, and dissatisfaction if absent). Even the old-style requirements techniques allowed for at least two levels, described via &#8216;shall&#8217; (mandatory) and &#8216;should&#8217; (desirable or highly-desirable). Yet another variable bindedness is the &#8216;MoSCoW&#8217; set applied to requirements in some Agile software development styles:</p>
<ul>
<li><strong>M</strong>ust &#8211; mandatory</li>
<li><strong>S</strong>hould &#8211; highly desirable, strongly recommended</li>
<li><strong>C</strong>ould &#8211; desirable, recommended, an option known to work in this kind of context</li>
<li>can <strong>W</strong>ait &#8211; a &#8216;nice-to-have&#8217; that can wait until a later iteration (known as &#8216;Waiting Room&#8217; in Volere)</li>
</ul>
<p>Much the same applies to reference-models: these too need similar contextual bindedness. Compliance to some parts of the reference model may be mandatory in law; we don&#8217;t have any choice about that, and these are the same straightforward true/false links as in standard software models and the like. But for the rest, it&#8217;s really about risk-management and levels of risk: we can move away from the standards specified in the reference-model if we must &#8211; perhaps because of practical constraints, or because what we need simply isn&#8217;t available and can&#8217;t be bought or built within reasonable cost at the present time &#8211; but every deviation from the standard represents increased risk. High bindedness indicates high risk from any deviation from the standard; low bindedness indicates low risk. In enterprise architecture, we document the deviation by a formal &#8216;dispensation&#8217; or some other equivalent risk management mechanism.</p>
<p>Which brings us back to models and metamodels, because in the standard rather IT-oriented approaches to modelling, there&#8217;s no way to describe this variability of bindedness: we&#8217;re stuck with true/false, mandatory or not-required-at-all. The OMG&#8217;s <a href="http://en.wikipedia.org/wiki/Semantics_of_Business_Vocabulary_and_Business_Rules" title="Wikipedia on SBVR">Semantics of Business Vocabulary and Business Rules</a> specification is one existing definition that goes part of the way there, but it uses horrible formal-logic terminology such as &#8216;modality&#8217; (meaning bindedness, but a word which has many entirely different meanings in other contexts) and &#8216;alethic&#8217; versus &#8216;deontic&#8217; (true/false versus slightly more variable than true/false), and I haven&#8217;t seen any modelling technique &#8211; with the possible exception of ORM, or <a href="http://www.orm.net/" title="Terry Halpin's site on Object Role Modelling">Object Role Modelling</a> &#8211; which actually applies it. Even then, it still doesn&#8217;t carry through either the simplicity or richness of the bindedness of a reference model, but instead again drowns us in the impenentrable rigidity of formal-logic.</p>
<p>To me it&#8217;s just laziness that we&#8217;ve stuck with the crude true/false links for so darn long, because they don&#8217;t fit what we actually need, and they&#8217;re often dangerously misleading in practice. It shouldn&#8217;t be hard to define and implement variable bindedness in a metamodel: at its simplest it&#8217;s just a straightforward categorisation of link-strength, and could be displayed in a modelling notation by thickness of line or by colour-coding or the like. I&#8217;ll have a go at building it into the metamodel for enterprise architecture that I&#8217;m working on at present, but it would be good to avoid reinventing the wheel if someone else has done it already.</p>
<p>Advice / suggestions, please?</p>
]]></content:encoded>
			<wfw:commentRss>http://weblog.tetradian.com/2009/05/03/binding-in-metamodel/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>

