object

coupling_metric

Computes entity efferent coupling, afferent coupling, and instability.

Author: Ebrahim Azarisooreh and Paulo Moura
Version: 0.12
Date: 2018/7/17
Compilation flags:
static, context_switching_calls
Imports:
Uses:
Remarks:
  • Efferent coupling (Ce): Number of entities that an entity depends on.

  • Afferent coupling (Ca): Number of entities that depend on an entity.

  • Instability (I): Computed as Ce / (Ce + Ca). Measures the entity resilience to change. Ranging from 0 to 1, with 0 indicating a maximally stable entity and 1 indicating a maximally unstable entity. Ideally, an entity is either maximally stable or maximally unstable.

  • Abstractness (A): Computed as the ratio between the number of static predicates with scope directives without a local definition and the number of static predicates with scope directives. Measures the rigidity of an entity. Ranging from 0 to 1, with 0 indicating a fully concrete entity and 1 indicating a fully abstract entity.

  • Entity score: Represented as the compound term ce_ca_i_a(Ce,Ca,I,A).

  • Dependencies count: Includes direct entity relations plus calls or dynamic updates to predicates in external objects or categories.

Public predicates

(see entity ancestors)

Protected predicates

(see entity ancestors)

Private predicates

(see entity ancestors)

Operators

(none)