OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   RE: [xml-dev] What is coupling? [Was: 3 XML Design Principles]

[ Lists Home | Date Index | Thread Index ]
  • To: "Roger L. Costello" <costello@mitre.org>, "XML Developers List" <xml-dev@lists.xml.org>
  • Subject: RE: [xml-dev] What is coupling? [Was: 3 XML Design Principles]
  • From: "Chiusano Joseph" <chiusano_joseph@bah.com>
  • Date: Tue, 1 Feb 2005 07:46:12 -0500
  • Thread-index: AcUH2+8QuwDi0enUS3iQlCDuTAhzpQAfNZ6AAACyA4A=
  • Thread-topic: [xml-dev] What is coupling? [Was: 3 XML Design Principles]

> -----Original Message-----
> From: Roger L. Costello [mailto:costello@mitre.org] 
> Sent: Tuesday, February 01, 2005 7:35 AM
> To: 'XML Developers List'
> Subject: [xml-dev] What is coupling? [Was: 3 XML Design Principles]
> Hi Folks,
> Again, many thanks for the excellent comments.  I am working 
> hard to assimilate all your comments, and will create a 
> summary of all the discussion soon.
> One question that several people asked was, "What do you mean 
> by coupling?"
> Below I have made an attempt at defining coupling.  Do you 
> agree with my definition?  Is it complete, i.e., are there 
> other factors that should be incorporated into a definition 
> of coupling?
> Note that I have changed version #2 to this:
> <Lot id="1">
>       -- info about the lot --
> </Lot>
> <Picker id="John">
>       -- info about the picker --
> </Picker>
> <Assignment picker="John" lot="1"/>
> The Lot component just contains information about the Lot.  
> And the Picker component just contains information about the 
> Picker.  The Assignment element connects the Lot and Picker.  
> ["Assignment" is not really the correct name.  Can someone 
> think of a better name?]

Yes - Association.

> Okay, now for my definition of coupling:
> What is Coupling?
> Definition: There exists a coupling between two components if 
> there exists a "dependency" between the components.  The 
> greater the dependency, the greater the coupling.

I would recommend calling this "proximity", or "embededness" instead of
"coupling", as it is more of a physical characteristic than logical.

> An obvious dependency is physical dependency.  In version #1 
> the Lot and the Picker are physically dependent (coupled) on 
> each other:
> <Lot id="1">
>       <Picker id="John">
>             .
>       </Picker>
> </Lot>
> The Picker is a child of Lot.  The Lot is the parent of 
> Picker.  There exists a definite physical co-dependency 
> between the Picker and Lot components.
> A more nebulous dependency is semantic dependency.  In 
> version #1 not only does there exist a physical dependency, 
> but there also exists a semantic dependency.  Namely, the 
> Picker is located on the Lot.

I would assert that this is a semantic association, more than a semantic
dependency. That is, the Picker can be removed from the lot (physically,
in the real world) yet the lot will still remain. And vice-versa.

The above comments can also all be applied to the remainder of the

Kind Regards,
Joseph Chiusano
Booz Allen Hamilton
Strategy and Technology Consultants to the World
> Now consider version #2:
> <Lot id="1">
>       .
> </Lot>
> <Picker id="John">
>       .
> </Picker>
> <Assignment picker="John" lot="1"/>
> The Lot and Picker components are physically completely 
> separate.  There is no physical dependency.  The Assignment 
> element creates a semantic dependency between the Lot and 
> Picker, by identifying that the Picker is on the Lot.
> So, in version #1 there exists both a physical and semantic 
> dependency between the Picker and the Lot.  In version #2 
> there exists only a semantic dependency.  Thus, there is a 
> stronger coupling between the Picker and Lot components in 
> version #1.  We say that there exists a tight coupling 
> between the components in version #1.  There exists a loose 
> coupling between the components in version #2.
> Comments?  /Roger
> -----------------------------------------------------------------
> The xml-dev list is sponsored by XML.org 
> <http://www.xml.org>, an initiative of OASIS 
> <http://www.oasis-open.org>
> The list archives are at http://lists.xml.org/archives/xml-dev/
> To subscribe or unsubscribe from this list use the subscription
> manager: <http://www.oasis-open.org/mlmanage/index.php>


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS