Overview

As part of extending the usability of PINOT, we define a visual constraint language, MUSCAT (Minimal Uml SpecifiCATion language) for users to specify a broader range of design patterns.

Specifying Design Patterns

MUSCAT is a UML-based language that allows users to precisely define the structural and behavioral aspects of a design pattern. Its implementation uses a set of PINOT APIs to facilitate the execution of the user-defined MUSCAT specifications. More details can be found in Nija's dissertation.

Software

You can download the MUSCAT source here. See MUSCAT_INSTALL for installation.

To use MUSCAT, you will need to use ArgoUML to define your design patterns.

Here are the steps to incorporate your patterns to MUSCAT:

  1. Export XMI: in ArgoUML, export your pattern specificaiton to XMI.
  2. Generate CPP: use viognier to generate cpp code. For usages, type viognier --help.
  3. Create plugin: create a shared library, you will need to include the object files (created during make) under the MUSCAT source directory.

Papers

Reverse Engineering of Design Patterns from Java Source Code
Nija Shi
Doctoral dissertation. University of California, Davis
[pdf]

People

Author: Nija Shi
Advisor: Prof. Ron Olsson

Contact

Please send inquiries or comments about MUSCAT to custardtart@gmail.com.

Comparable Solutions

LePUS - Tel Aviv University, Israel
Last Updated Thu Mar 13 23:22:10 PDT 2008