<?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: Meanderings on metamodels</title>
	<atom:link href="http://weblog.tetradian.com/2009/04/24/on-ea-metamodels/feed/" rel="self" type="application/rss+xml" />
	<link>http://weblog.tetradian.com/2009/04/24/on-ea-metamodels/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=on-ea-metamodels</link>
	<description>Random ramblings over the metaphoric edge</description>
	<lastBuildDate>Sun, 05 Feb 2012 09:56:55 +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/04/24/on-ea-metamodels/comment-page-1/#comment-26173</link>
		<dc:creator>Tom G</dc:creator>
		<pubDate>Fri, 01 May 2009 04:30:53 +0000</pubDate>
		<guid isPermaLink="false">http://weblog.tomgraves.org/index.php/2009/04/24/on-ea-metamodels/#comment-26173</guid>
		<description>Hi Pete

Many thanks - this really does help. On last item first, will follow up on OMG Versioning, and definitely agree that it&#039;s so fundamental that it needs to be right at the root (metametamodel), which is probably the level of what I&#039;m describing here anyway.

I&#039;m probably not being clear enough on subtyping versus instantiation. To give a concrete example, using Zachman-style layering, imagine I have a type &#039;database application&#039;. I might then either instantiate or subtype it, Protege-style, to give an entity &#039;Oracle database application&#039;. I take that to full instantiation as &#039;Oracle 9i database application&#039;. That all sits at the layer-4 &#039;Physical&#039; or &#039;Develop&#039; in Zachman-style layering. When I take it down one Zachman-layer, to the real-world &#039;Deploy&#039; level. I need to re-convert that instance to an instantiable subtype as a composite with the subtype &#039;server&#039;, as &#039;Oracle 9i server&#039;; I can then instantiate that as &#039;Oracle 9i develop server&#039;, &#039;..test server&#039;, &#039;..production server&#039;, &#039;..fallback server&#039; and so on (each of which might again need to be re-instantiable as &#039;..server #1&#039;, &#039;..server #2&#039; and so on).

On inheritable display-method, what I&#039;m thinking of here is that some model-types would want to list everything that is, for example, a physical-asset either in whole or in part (such as a paper form, which is both a physical-asset [paper] and virtual-asset [data]). If the display-method is an attribute of the attached inherited-entity - which I&#039;ve rather loosely described as the &#039;parent&#039; - then it would / could be available to the subtype. I&#039;m currently working on how that sort-of-inheritance would work in practice, but it seems doable. It&#039;s certainly close in concept to your notion of Diagram Definition as yo describe above, though perhaps not quite the same.

I&#039;ll admit I&#039;ve been working almost entirely on my own at a &#039;thought experiment&#039; level; as yet haven&#039;t really mined from or aligned with the available information from other important sources such as OMG, and it&#039;s clear I need to do so. Any suggestions as to where I ought to start on that, or who else to work with?

Many thanks again, anyway.</description>
		<content:encoded><![CDATA[<p>Hi Pete</p>
<p>Many thanks &#8211; this really does help. On last item first, will follow up on OMG Versioning, and definitely agree that it&#8217;s so fundamental that it needs to be right at the root (metametamodel), which is probably the level of what I&#8217;m describing here anyway.</p>
<p>I&#8217;m probably not being clear enough on subtyping versus instantiation. To give a concrete example, using Zachman-style layering, imagine I have a type &#8216;database application&#8217;. I might then either instantiate or subtype it, Protege-style, to give an entity &#8216;Oracle database application&#8217;. I take that to full instantiation as &#8216;Oracle 9i database application&#8217;. That all sits at the layer-4 &#8216;Physical&#8217; or &#8216;Develop&#8217; in Zachman-style layering. When I take it down one Zachman-layer, to the real-world &#8216;Deploy&#8217; level. I need to re-convert that instance to an instantiable subtype as a composite with the subtype &#8216;server&#8217;, as &#8216;Oracle 9i server&#8217;; I can then instantiate that as &#8216;Oracle 9i develop server&#8217;, &#8216;..test server&#8217;, &#8216;..production server&#8217;, &#8216;..fallback server&#8217; and so on (each of which might again need to be re-instantiable as &#8216;..server #1&#8242;, &#8216;..server #2&#8242; and so on).</p>
<p>On inheritable display-method, what I&#8217;m thinking of here is that some model-types would want to list everything that is, for example, a physical-asset either in whole or in part (such as a paper form, which is both a physical-asset [paper] and virtual-asset [data]). If the display-method is an attribute of the attached inherited-entity &#8211; which I&#8217;ve rather loosely described as the &#8216;parent&#8217; &#8211; then it would / could be available to the subtype. I&#8217;m currently working on how that sort-of-inheritance would work in practice, but it seems doable. It&#8217;s certainly close in concept to your notion of Diagram Definition as yo describe above, though perhaps not quite the same.</p>
<p>I&#8217;ll admit I&#8217;ve been working almost entirely on my own at a &#8216;thought experiment&#8217; level; as yet haven&#8217;t really mined from or aligned with the available information from other important sources such as OMG, and it&#8217;s clear I need to do so. Any suggestions as to where I ought to start on that, or who else to work with?</p>
<p>Many thanks again, anyway.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pete Rivett</title>
		<link>http://weblog.tetradian.com/2009/04/24/on-ea-metamodels/comment-page-1/#comment-26163</link>
		<dc:creator>Pete Rivett</dc:creator>
		<pubDate>Thu, 30 Apr 2009 22:56:08 +0000</pubDate>
		<guid isPermaLink="false">http://weblog.tomgraves.org/index.php/2009/04/24/on-ea-metamodels/#comment-26163</guid>
		<description>Some interesting ideas here. There are many similarities to the work of Reenskaug in OOram - which focused on modeling object roles in context and less on defining a universal model. See http://en.wikipedia.org/wiki/Object_Oriented_Role_Analysis_Method or an obsolete draft here heim.ifi.uio.no/~trygver/documents/book11d.pdf.

Your ideas strongly relates to work I&#039;m involved in at OMG in the areas of:
 a) &#039;MOF for Semantic Structures&#039; which allows the entities to evolve over time to adopt different entity types
 b) Diagram Definition which allows the definition of what diagrams can contain and which are valid.
Thus, to take your example, an instance of entity type RelationalTable could be given the additional Entity Type BPMN Data Object to allow it to participate in BPMN models/diagrams.

However I think you do need to distinguish subtyping (a relationship between 2 types) from instantiation (a relationship between a type and an instance): to talk of an instance being subtyped does not really make sense IMHO.
And I don&#039;t quite get &quot;a composite inherits not only the attributes and display-methods of its included ‘parents’ &quot; - what do you mean by &#039;parent&#039; (seems unintuitive for the entities included in the composite)? And I think any &#039;display meatods&#039; would be associated with the composte itself not to the entities included in it: as you say elsewhere this needs to be context-driven.

Finally, I agree versioning is important, but it should be metamodel-independent. The OMG Versioning standard is defined at the metametamodel level (MOF) so automatically and implicitly applies to models in any MOF-based metamodel (UML, CWM, BPMN etc). This gives a clean separation of concerns, does not muddy individual metamodels with versioning details, and most importantly, provides a capability for versioning composites of entities from many different metamodels.</description>
		<content:encoded><![CDATA[<p>Some interesting ideas here. There are many similarities to the work of Reenskaug in OOram &#8211; which focused on modeling object roles in context and less on defining a universal model. See <a href="http://en.wikipedia.org/wiki/Object_Oriented_Role_Analysis_Method" rel="nofollow">http://en.wikipedia.org/wiki/Object_Oriented_Role_Analysis_Method</a> or an obsolete draft here heim.ifi.uio.no/~trygver/documents/book11d.pdf.</p>
<p>Your ideas strongly relates to work I&#8217;m involved in at OMG in the areas of:<br />
 a) &#8216;MOF for Semantic Structures&#8217; which allows the entities to evolve over time to adopt different entity types<br />
 b) Diagram Definition which allows the definition of what diagrams can contain and which are valid.<br />
Thus, to take your example, an instance of entity type RelationalTable could be given the additional Entity Type BPMN Data Object to allow it to participate in BPMN models/diagrams.</p>
<p>However I think you do need to distinguish subtyping (a relationship between 2 types) from instantiation (a relationship between a type and an instance): to talk of an instance being subtyped does not really make sense IMHO.<br />
And I don&#8217;t quite get &#8220;a composite inherits not only the attributes and display-methods of its included ‘parents’ &#8221; &#8211; what do you mean by &#8216;parent&#8217; (seems unintuitive for the entities included in the composite)? And I think any &#8216;display meatods&#8217; would be associated with the composte itself not to the entities included in it: as you say elsewhere this needs to be context-driven.</p>
<p>Finally, I agree versioning is important, but it should be metamodel-independent. The OMG Versioning standard is defined at the metametamodel level (MOF) so automatically and implicitly applies to models in any MOF-based metamodel (UML, CWM, BPMN etc). This gives a clean separation of concerns, does not muddy individual metamodels with versioning details, and most importantly, provides a capability for versioning composites of entities from many different metamodels.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tom G</title>
		<link>http://weblog.tetradian.com/2009/04/24/on-ea-metamodels/comment-page-1/#comment-25913</link>
		<dc:creator>Tom G</dc:creator>
		<pubDate>Fri, 24 Apr 2009 20:35:02 +0000</pubDate>
		<guid isPermaLink="false">http://weblog.tomgraves.org/index.php/2009/04/24/on-ea-metamodels/#comment-25913</guid>
		<description>Thanks Eric

No, I hadn&#039;t properly thought in terms of Architecture Description Languages (I presume that&#039;s what you mean by &#039;ADLs&#039;?), other than a discussion with one of the Open Group crew who said that an ADL for TOGAF has been &#039;coming Real Soon Now&#039; for about a dozen years.

The catch is that all of the ADLs I&#039;ve seen to date are designed for software, which is great for explicit rule-based relationships, but can&#039;t handle the complexity of real-world &#039;ifs and buts and perhapses&#039; relationships between entities.

That&#039;s the point about &#039;legal&#039; versus &#039;non-legal&#039; relationships in your comment above. It&#039;s not so much about whether it appears in a specific view or model, as whether and how it should be used within the whole architecture. From a requirements perspective, a &#039;legal&#039; relationship is a &quot;shall&quot;; but we also need a whole slew of levels of bindedness, such as the MoSCoW set &#039;must&#039;, &#039;should&#039;, &#039;could&#039;, &#039;would be possible&#039; - which is the kind of range that we get in reference-frameworks and in architecture dispensations.

Ultimately, yes, we _must_ be able to express all of this in an XMI-like ADL, but that&#039;s going to take, again, a whole slew of separate work. What I&#039;m trying to do right now is get my thinking straight on what a metamodel should look like and what attributes and methods would be needed to make it work. Any suggestions on that would be much appreciated!</description>
		<content:encoded><![CDATA[<p>Thanks Eric</p>
<p>No, I hadn&#8217;t properly thought in terms of Architecture Description Languages (I presume that&#8217;s what you mean by &#8216;ADLs&#8217;?), other than a discussion with one of the Open Group crew who said that an ADL for TOGAF has been &#8216;coming Real Soon Now&#8217; for about a dozen years.</p>
<p>The catch is that all of the ADLs I&#8217;ve seen to date are designed for software, which is great for explicit rule-based relationships, but can&#8217;t handle the complexity of real-world &#8216;ifs and buts and perhapses&#8217; relationships between entities.</p>
<p>That&#8217;s the point about &#8216;legal&#8217; versus &#8216;non-legal&#8217; relationships in your comment above. It&#8217;s not so much about whether it appears in a specific view or model, as whether and how it should be used within the whole architecture. From a requirements perspective, a &#8216;legal&#8217; relationship is a &#8220;shall&#8221;; but we also need a whole slew of levels of bindedness, such as the MoSCoW set &#8216;must&#8217;, &#8216;should&#8217;, &#8216;could&#8217;, &#8216;would be possible&#8217; &#8211; which is the kind of range that we get in reference-frameworks and in architecture dispensations.</p>
<p>Ultimately, yes, we _must_ be able to express all of this in an XMI-like ADL, but that&#8217;s going to take, again, a whole slew of separate work. What I&#8217;m trying to do right now is get my thinking straight on what a metamodel should look like and what attributes and methods would be needed to make it work. Any suggestions on that would be much appreciated!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eric Stephens</title>
		<link>http://weblog.tetradian.com/2009/04/24/on-ea-metamodels/comment-page-1/#comment-25910</link>
		<dc:creator>Eric Stephens</dc:creator>
		<pubDate>Fri, 24 Apr 2009 19:53:18 +0000</pubDate>
		<guid isPermaLink="false">http://weblog.tomgraves.org/index.php/2009/04/24/on-ea-metamodels/#comment-25910</guid>
		<description>I&#039;m no expert, but have you seen  ADLs? Does that influence the work you are trying to do with the meta-model.

As for legal relationships, my initial response is a relationship between two entities is either always legal or always illegal. Now, whether it is displayed in a view or not is a different concern based on the stakeholder who is viewing the view. My thoughts here would be counter what you say above so I must ask: am I way off or do we have a mismatch on terms?

Cheers!</description>
		<content:encoded><![CDATA[<p>I&#8217;m no expert, but have you seen  ADLs? Does that influence the work you are trying to do with the meta-model.</p>
<p>As for legal relationships, my initial response is a relationship between two entities is either always legal or always illegal. Now, whether it is displayed in a view or not is a different concern based on the stakeholder who is viewing the view. My thoughts here would be counter what you say above so I must ask: am I way off or do we have a mismatch on terms?</p>
<p>Cheers!</p>
]]></content:encoded>
	</item>
</channel>
</rss>

