Home
How to encapsulate software (Part 1) How to encapsulate software (Part 1).

This paper presents a quick overview of encapsulation theory, describing its premises and goals.

Encapsulation theory fundamentals Encapsulation theory fundamentals.

This paper proposes a theory of encapsulation, establishing a relationship between encapsulation and information hiding through the concept of the potential coupling, the maximum possible number of source code dependencies that can exist between program units in a software system. The potential coupling of various, simple systems is examined in an attempt to demonstrate how potential coupling changes as program units are encapsulated among different configurations of subsystems.

Fractality: Free Edition Fractality: Free Edition.

This is a Java source code parser, which analyzes Java code and produces a range of software metrics, including the potential coupling and the configuration efficiency.

Note that some web-browsers will save the file as frac.zip. If this happens, then please manually rename the file to frac.jar.

Starting the tool depends on your environment. First, try double-clicking on the file. If the tool doesn't start, then open a command prompt and type: java -jar frac.jar

Once the tool has started, click File -> Load Master Directory, and select the directory in which your Java files reside.

Note that, for best performance, you may want to start the tool with more than the default heap. If you have 128mb of RAM, for example, you can start the tool with:
java -Xmx128m -Xms128m -jar frac.jar

Encapsulation theory: L2 potential coupling. Encapsulation theory: L3 potential coupling.

This paper establishes that potential coupling exists only for second and third length dependencies. The relationship between both lengths of potential coupling is examined and concludes with the recommendation that, for modification-resilient sets, potential coupling of second length dependencies should be minimised and potential coupling of third length dependencies should be maximised.

Encapsulation theory: the isoledensal configuration
efficiency limit. Encapsulation theory: the isoledensal configuration efficiency limit.

This paper shows how maximum possible isoledensal configuration efficiency of an indefinitely large software system is constrained by chosing a fixed upper limit to the number of program units per subsystem. It is then shown how the configuration efficiency of an indefinitely large software system depends on the ratio of the total number of informaiton hiding violational software units divided by the total number of program units.

Encapsulation theory: the transformation
equations. Encapsulation theory: the transformation equations of absolute information hiding.

This paper describes how the potential coupling of a set varies as the set is transformed, that is, as elements are created and modified. The equations governing the changes caused by these transformations are derived and briefly analysed.

Encapsulation theory: a format for exercises. Encapsulation theory: a format for exercises.

This paper presents a format in which simple problems and exercises of encapsulation theory can be framed to facilitate the calculating of potential coupling for simple sets.

Encapsulation theory: the anomalous minimised configuration. Encapsulation theory: the anomalous minimised configuration.

This paper investigates the phenomenon of the anomalous minimised configuration, that is the configuration of a non-uniformly distributed set whose potential coupling is less than that of the equivalent uniformly distributed set. The paper aims to demonstrate that the existence of anomalous minimised configurations does not threaten the validity of the isoledensal configuration efficiency.