r8 - 21 Nov 2007 - 14:53:36 - MarcGirodCmWiki  >  CM Web  >  AuditedDependencies

Audited Dependencies

[From GenericSemantics]

Genericity is a tradeoff. A generic structure should scale well, and thus allow to focus to wide or fine granularity, but it will be simple, maybe crude.

Physical dependencies, the kind which can be audited (recorded automatically), have been met in the context of build management. Yet, this is not a restriction, and on the other hand, build dependencies are only seldom audited --much more often declared.

Dependencies can hardly be declared at a fine granularity, for reasons of maintainability. Such declarations will involve modules. Audited dependencies on the contrary should be trimmed as fine as possible.

Auditing dependencies will make emerge new information. Who uses what, and in what context, what else do they use, etc. It allows for bottom-up communications, and focusing on facts more than on intentions or assumptions.

-- MarcGirod - 28 Jan 2003

Question: What actually is audited dependency?

From the above it is suggested that audited means recorded automatically. Also dependency occurs in many different forms, for example

  • Build dependency - Part of the system needs another part to build successfully
  • Run-time dependency - Part of the system needs a particular run-time environment
  • Functional dependency - Some features are only successful if other features behave in a particular way
  • Logical dependency - Parts of the system "belong" to the same architectural unit.
  • Schedule dependency - Parts of the system need to be developed before other parts.

Each of these dependencies may be completely orthogonal to other dependencies. Putting dependent parts in the same directory may be very reasonable from one perspective (e.g. logical decomposition as for an architecture) and ridiculous from another (e.g. build dependency).

Yet, each of the dependencies may be auditable, i.e. objectively verifiable. For example, the directory structure may express one type of dependency while a branch structure expresses another type of dependency. It is quite common to organise requirements, source code and baselines very differently.

-- FrankSchophuizen - 19 Feb 2003

Are you sure that all are practically auditable? I don't think so. Out of the various kinds of "dependencies" you proposed, I think that only the first two are actually suitable to be recorded automatically in an objective and generic way. All the others imply some kind of interpretation and will not result in simple directed graphs. They are thus of little interest from an SCM point of view.

In fact build and run-time dependencies are both special cases of the more general concept of auditable/audited dependency. Specifying other types of suitable durations for some recording, you would define other dependencies, maybe orthogonal.

-- MarcGirod - 02 Mar 2003

Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r8 < r7 < r6 < r5 < r4 | More topic actions | key Log In
 
Copyright © 1998-2008 CM Crossroads LLC
Ideas, requests, problems regarding CmWiki?? Send feedback