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


Help: OASIS Mailing Lists Help | MarkMail Help



   What is coupling? [Was: 3 XML Design Principles]

[ Lists Home | Date Index | Thread Index ]
  • To: "'XML Developers List'" <xml-dev@lists.xml.org>
  • Subject: What is coupling? [Was: 3 XML Design Principles]
  • From: "Roger L. Costello" <costello@mitre.org>
  • Date: Tue, 1 Feb 2005 07:35:09 -0500
  • In-reply-to: <15725CF6AFE2F34DB8A5B4770B7334EE07206BA5@hq1.pcmail.ingr.com>
  • Thread-index: AcUH2+8QuwDi0enUS3iQlCDuTAhzpQAfNZ6A

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 --
<Picker id="John">
      -- info about the 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?]

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.

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">

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

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.

Now consider version #2:

<Lot id="1">
<Picker id="John">
<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


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

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