Phone Book MVC *

Phone Book MVC GUI The Phone Book MVC is a small desktop application. It includes a text-based interface that allows the user to add name/phone pairs and search for phone by name. The data persist in a text file. The Phone Book architecture is based on the Model-View-Controller architectural design pattern. The generic inter-object behavior of the pattern, i.e., "whenever the Controller tells the Model to change state, the model saves the new state and tells the View that the state had changed", is specified using an MUSD whose lifelines represent the generic interfaces IController, IModel, and IView. Thus, as an S2A case study, the Phone Book MVC demonstrates MUSD ability to specify (and thus actually program!) general inter-object behavior at the level of interfaces, and shows how S2A realizes MUSD behavioral contract enforcement and reuse. See this case study document for details.

The Phone Book was constructed using the S2A compiler. For more information about S2A, visit the Scenarios in Action website.

* This S2A case study was inspired by an example given in an IBM tutorial document for Rational Software Architect written by Tinny Ng, available from

Last updated: Oct. 4, 2006.

Running the Phone Book

To run the Phone Book, download and extract this zip file. The zip contains the following files: aspectjrt.jar, musdrt.jar, and phonebook.jar.

To run the Phone Book, doubleclick the phonebook.jar.

Note: The Phone Book was developed and tested on Windows platform. We have not tested it on other OS platforms.

Note: Like any other S2A program, running the Phone Book requires Java 1.5 runtime environment.

Source Code etc.

The complete UML model, source and generated code, can be downloaded here. We recommend viewing the project using Eclipse 3.2 after installing Eclipse/uml2 and Eclipse/ajdt (see links on S2A website). The IBM RSA 7.0.0 model can be downloaded here.