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