Patrick Lam

Associate Professor, Department of Electrical and Computer Engineering
Director, Software Engineering Programme
University of Waterloo
email: patrick.lam@uwaterloo.ca (no unsolicited commercial email)
phone: use email instead!

Picture of Patrick Lam

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.

Indirect Interaction Diagram: Producer-Consumer Example

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.

Valid HTML 5!