Tokens: Embedding Design Information in Java source
The token annotation system allows developers to embed design information directly into a program's source code, so that it can be automatically extracted from the source code. The key conceptual problem is that the code and design of a system operate at different levels of abstraction: the code specifies one particular solution to a problem in great detail, and is tuned for efficiency, while the design constrains the space of possible solutions, and is tuned for human understanding.
Consider the above indirect interaction diagram from a Producer-Consumer
system. Circles represent subsystems while lines represent communication
between the subsystems. We can see that the PCI subsystem
communicates with the PCS subsystem by using objects labelled
with EP and EC tokens. Our software automatically
generates these diagrams from annotated Java source code.
