SLAC PEP-II
BABAR
SLAC<->RAL
Babar logo
Workbook HEPIC Databases PDG HEP preprints
Organization Detector Computing Physics Documentation
Personnel Glossary Sitemap Search Hypernews
Unwrap page!
Wkbk. Search
Wkbk. Sitemap
Introduction
Non SLAC
HOWTO's
Introduction
Logging In
QuickTour
Detector
Info Resources
Software Infrastructure
CM2 Introduction
Unix
OO
SRT
Objectivity
Event Store
Framework
Beta
Modifying Code
Writing and Editing
Compiling
Debugging
Analysis
Framework II
Analysis
Find Data
Batch Processing
PAW
PAW II
ROOT I
ROOT II
ROOT III
Advanced Infrastructure
New Releases
Workdir
Main Packages
Event Displays
Gen/Sim/Reco
Contributing Software
SRT and CVS
Coding
Advanced Topics
Make CM2 Ntuples
New Packages
New Packages 2
Persistent Classes
Java
Site Installation
Check this page for HTML 4.01 Transitional compliance with the
W3C Validator
(More checks...)

Module Diagram


Module diagrams are used to show the allocation of classes and objects to modules in the physical design of a system, that is module diagrams indicate the partitioning of the system architecture.

Through these diagrams it is possible to understand the general physical architecture of a system.

The two essential elements of a module diagram are modules and their dependencies.

The first three icons denote files. The specification and the body icon denote files containing the declaration (.h files) and definition (.cpp files) of entities. The main program icon denotes a file that contains the root of a program (some .cpp file). Typically there is one such module per program.

The notation:

  • Specification & body

    Copyright ©

  • Main program

    Copyright ©

    The only relationship we may have between two modules is a compilation dependency, represented by an arrow pointing to the module upon which the dependency exists. Normally, there may be no cycles within a set of compilation dependencies. In C++ this is indicated by #include directives.

  • Subsystems

    The informal convention is to collect related modules in directory structures. The notion of subsystem is introduced for such a reason. Subsystems partition the physical model of the system, they are aggregates containing other modules and other subsystems.

    A subsystem can have dependencies upon other subsystems or modules, and a module can have dependencies upon a subsystem. The same notation is used for subsystems dependencies.

    Copyright ©

    You can place the modules in different subsystems. In C++ these are different directories.


Author: Massimo Marino
Last updated: Jenny Williams

Last modification: 29 January 2001
Last significant update: 26 April 1996