Partitioned Annotations

PAS (Partitioned Annotations for Software) was inspired by theories of program comprehension. The PAS medium is a form of notebook in which a programer can record software understanding and various observations about software. PAS allows the programmer to record his/her understanding without regard for whether it was acquired in a top-down or bottom-up fashion. PAS are based on existing structure of the software and do not require any restructuring. Each code component (i.e. class, function/method, arguments, algorithms, dependency) has its own annotation divided into several partitions explaining its meaning. Partitions are used to describe the component at different levels of abstraction or from different viewpoints.


Figure 1. Sample Partitioned Annotations Listing

Partitioning allow programmers to locate and read only relevant parts of the program documentation. Every component component is annotated by the same partitions and every partition covers all components. Partitions are distinguished between mandatory partitions that are always generated and elective partitions that are generated on a user's demand. The architecture of PAS is in Figure 2. It contains the root annotation that is the entry to the PAS. It contains a list of all of the components for the program or a dependency graph of the components.


Figure 2.

The partitions used for classes includes "domain annotations", "class dependencies", "dependency annotations", "member functions", and "author's comments".


References