Brought to you by EarthWeb
IT Library Logo

Click Here!
Click Here!

Search the site:
 
EXPERT SEARCH -----
Programming Languages
Databases
Security
Web Services
Network Services
Middleware
Components
Operating Systems
User Interfaces
Groupware & Collaboration
Content Management
Productivity Applications
Hardware
Fun & Games

EarthWeb Direct EarthWeb Direct Fatbrain Auctions Support Source Answers

EarthWeb sites
Crossnodes
Datamation
Developer.com
DICE
EarthWeb.com
EarthWeb Direct
ERP Hub
Gamelan
GoCertify.com
HTMLGoodies
Intranet Journal
IT Knowledge
IT Library
JavaGoodies
JARS
JavaScripts.com
open source IT
RoadCoders
Y2K Info

Previous Table of Contents Next


3.1.3. Loose Coupling

Software coupling is the measure of module interdependency. For example, in a conventional CAD/CAM application, application attribute data from a drawing management system would be exported to an independent data file. These data would then be imported from the file by a supportive database management system. Thus, for a change in one system to be reflected in the other, the process of data exportation and importation would have to be invoked.

The loose coupling architecture illustrated in Figure 2, represents an application that has been decomposed into separate ES and MM modules. Intermodular communication occurs via a linked data file. In operation, the ES would use a data-passing capability (inherent in most ES shells) to export system-acquired user data to an external database file for storage and use by the MM system; or, it would import MM acquired user data for knowledge-based manipulation. As Table 2 indicates for this Level 2 integration, advantages include improved synergy and ease of systems development because of available commercial tools, simplicity of design, and reduced data maintenance. Disadvantages include reduction in speed of operations because of communications overhead and overlap in data input and processing, poor overall system maintainability, and the ripple effect caused by an input error.


TABLE 2
Software Architectures and Their Properties
 
Architecture Integ. level Features Advantages Disadvantages
Stand-alone 0 Independent modules Commercial tools available No integration
    Independent construction Ease of development Double maintenance
    No interaction Speed of development No synergy
      Independent systems maintenance
Translation 1 Independent development Commercial tools available Redundancy in development
    Development and delivery Deliver best system Accurate translation may be
    emphasis Independent systems difficult
    Begin with either system maintenance Retranslation may be
      Speed of delivery required
        Limited synergy
Loose coupling 2 Application decomposition Commercial tools available Overlap in inputs and
    Inter-module Ease of development processing
    communication via data Synergy possible High communications
    Many variations Simplicity of design overhead
      Reduced data maintenance Speed of operations
        Poor maintainability
        Ripple effect of error
Tight coupling 3 Application decomposition Reduced communications Lack of commercial tools
    into separate independent overhead Increased development and
    modules Improved run-time maintenance complexity
    Inter-modular performance Redundant parameters and
    communication via Retention of modularity data processing
    parameter or data passing Flexibility in design Validation and verification
      Improved robustness issues
Full integration 4 ES and MM share data and Robustness Specification and design
    knowledge representation Runtime performance and issues
    Communications via dual resource utility Development time
    nature of structures No redundancy in parameter No commercial tools
    Cooperative reasoning and data processing Validation and verification
      Potential for improved Maintenance compatibility
      problem solving

3.1.4. Tight Coupling

As Figure 2 illustrates, a tight coupling software architecture consists of linked, separate modules. In this Level 3 integration, the application is decomposed into independent modules. Modular decomposition eliminates interdependency on intermediate files and provides virtual seamless integration. Intermodular communication is accomplished by direct parameter or data passing. An example of a tightly integrated system is an application that takes advantage of the capability of many ES shells to call executable programs directly and then return control to the ES when the called program is finished. In a more advanced variation, the ES directly controls the output of the MM system; for example, to display still or motion images in support of ES user needs.

Tight coupling has been found to be especially practical when a small subset of ES techniques is needed, or vice versa, so the designer can focus on one environment in order to provide a better user interface and less system maintenance. As Table 2 indicates, advantages of this architecture include improved run-time operation because of reduced interprogram communications, retention of modularity and flexibility in design, and improved robustness. Disadvantages include a lack of integrated commercial tools, increased development and maintenance complexity, redundant parameter and data processing, and issues of system validation and verification.


Previous Table of Contents Next

footer nav
Use of this site is subject certain Terms & Conditions.
Copyright (c) 1996-1999 EarthWeb, Inc.. All rights reserved. Reproduction in whole or in part in any form or medium without express written permission of EarthWeb is prohibited. Please read our privacy policy for details.