protected:acdc
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
protected:acdc [2009/05/10 20:45] – mark | protected:acdc [2010/05/08 15:17] – mark | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== ACDC Algorithm ====== | ====== ACDC Algorithm ====== | ||
====== History ====== | ====== History ====== | ||
- | Algorithm was developed | + | Developed |
====== Algorithm Intent ====== | ====== Algorithm Intent ====== | ||
- | ACDC algorithm | + | ACDC produces [[nested/ |
====== Factbase Properties ====== | ====== Factbase Properties ====== | ||
- | The //[[factbase]]// includes only dependencies between [[terms|entities]]. | + | The factbase includes only dependencies between [[terms|entities]]. |
====== Clustering Objectives ====== | ====== Clustering Objectives ====== | ||
The produced decomposition has the following properties: | The produced decomposition has the following properties: | ||
- | - Effective cluster | + | - Effective cluster |
- Bounded cluster cardinality | - Bounded cluster cardinality | ||
- File-level granularity | - File-level granularity | ||
====== Process Description ====== | ====== Process Description ====== | ||
- | ACDC creates clusters by detecting established | + | ACDC creates clusters by detecting established subsystem patterns in the given software system. Software entities that are not clustered this way are assigned to the subsystem that depends the most on them. |
====== Decomposition Properties ====== | ====== Decomposition Properties ====== | ||
Line 24: | Line 23: | ||
* Directory name | * Directory name | ||
* Module name with large out-degree | * Module name with large out-degree | ||
- | * “Support” for cluster contains all utilities | + | * “Support” for the cluster |
* Module name of [[subsystem patterns|dominator node]] | * Module name of [[subsystem patterns|dominator node]] | ||
- All utilities modules belong to one cluster | - All utilities modules belong to one cluster | ||
- | - A large number of cluster contains | + | - A large number of clusters contain |
- | + | ||
- | + | ||
- | | + | |
====== Algorithm Restrictions ====== | ====== Algorithm Restrictions ====== | ||
Line 37: | Line 33: | ||
====== Failed Assumptions ====== | ====== Failed Assumptions ====== | ||
====== Detailed Algorithm Description ====== | ====== Detailed Algorithm Description ====== | ||
- | ACDC produces software decomposition from a software system into | + | ACDC produces |
stages: | stages: | ||
- Skeleton construction | - Skeleton construction | ||
- | - Completion of clustering using Orphan Adoption | + | - Orphan Adoption |
- | The Skeleton construction phase creates a skeleton of the final decomposition by identifying subsystems using a pattern-driven approach. Depending on the pattern used, the subsystems are given names. In the second stage algorithm completes decomposition by using [[Orphan Adoption]] algorithm. | + | The Skeleton construction phase creates a skeleton of the final decomposition by identifying subsystems using a pattern-driven approach. Depending on the pattern used, the subsystems are given names. In the second stage, the algorithm completes |
===== Skeleton construction ===== | ===== Skeleton construction ===== | ||
- | The Skeleton contraction | + | |
+ | The skeleton construction | ||
- Apply the [[subsystem patterns|source file pattern]] | - Apply the [[subsystem patterns|source file pattern]] | ||
- Apply the [[subsystem patterns|body-header pattern]] | - Apply the [[subsystem patterns|body-header pattern]] | ||
Line 83: | Line 80: | ||
- | ===== Completion of clustering using Orphan Adoption ===== | + | ===== Orphan Adoption ===== |
- | In the previous phase, the skeleton of software decomposition was constructed. Some modules are left unassigned from the first phase. | + | |
- | The [[Orphan Algorithm]] attempts to assign all unassigned modules to some subsystems. The skeleton decomposition | + | In the previous phase, the skeleton |
====== Implementation ====== | ====== Implementation ====== | ||
- | The [[acdc_tools|acdc]] is official implementation of ACDC algorithm. | + | |
+ | The official implementation of ACDC can be downloaded |
protected/acdc.txt · Last modified: 2010/05/08 15:20 by mark