Downloads.


Spoiklin Soice.

A Java documentation and static analysis tool. Requires the Java6 JRE to run. (Sorry, folks, this doesn't run on Apple hardware.)

This is the jar file containing the tool. Note that some web-browsers will save the file as spoiklin.zip. If this happens, then please manually rename the file to spoiklin.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 spoiklin.jar

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

How to encapsulate software (Part 1).

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

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.

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 -Xmx1024m -Xms128m -jar frac.jar

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.

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 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.

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.

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.

Encapsulation theory: radial encapsulation.

This paper introduces the concept of radial encapsulation, whereby dependencies are constrained to act from subsets towards supersets. The paper shows how hierarchically encapsulated sets can be viewed as trees and investigates how potential coupling changes as the branches of these trees are manipulated.

Encapsulation theory: the minimised, uniformly violational radial branch.

This paper investigates how the hidden elements of a single radial branch should be distributed so as to minimise the branch's potential coupling.

Encapsulation theory: the minimised, uniformly hidden radial branch.

This paper investigates how the violational elements of a single, radial branch uniformly distributed in hidden elements should be distributed so as to minimise the branch's potential coupling.