A method for documenting data flow through an application
An application for compiling java code
A reusable set of components integrated in a convenient package that serves a specific set of goals