UmlBestPractices Comment | Edit | Print | Subscribe to this page

Background

UML modeling in caBIG is being used for a number of different purposes. Some groups are using it as a part of Model Driven Architecture development approaches. Others are using UML as part of a Unified Process (UP) development methodology or some variant of UP. However, what the caBIG pilots all have in common is that UML is being used as a tool to describe the exposed interfaces of the caBIG pilot tools, and that these models will be used in conjunction with the SemanticConnector? and UmlLoader? to capture, describe and harmonized the metadata and semantics of the pilots. This page is intended to collect practices and guidelines for creating effective UML models for the purpose this harmonization process.

Initial Guidelines

  • Use full names for attributes; i.e. sequenceLength not seqLen
  • Use appropriate camelcase or underscores to separate words (we have seen some non-standard camelcase).
  • Don't repeat class names in attribute names; i.e. use Gene.identifier not Gene.geneIdentifier. Usage of the latter causes the connector to put in redundant concepts.
  • Make sure the attribute name is fully descriptive.
  • Make sure there is a good UML definition for the EVS person to use to evaluate the goodness of fit for the selected concepts.

Enterprise Architect Guidelines

  • The explanation of every class should be placed in a TaggedValue called documentation
  • The explanation of every attribute should be placed in a TaggedValue called description
  • In the options for a relationship, make sure that none of them are the option Unspecified. Choose one of the following instead:
    • Source -> Destination
    • Destination -> Source
    • Bi-Driectional
  • Also in the options for a relationship, make sure that none of them use the multiplcity option 1..
  • When exporting your model from EA, use the following configuration options:
    • Export Diagram : Unchecked
    • Check Unisys Rose Format
    • Uncheck all other formats
    • Check Exclude EA tags

General Process for Using These Models

The concept annotation is a collaborative, iterative process. The expectation is that we will do something like this:

  • Run Connector -> Generate Report
  • EVS annotates report, sends to model owner
  • Model owner reviews, suggests changes
  • EVS reviews suggests changes
  • Iterate 2-4 until all are satisfied
  • Rerun connector to annotate XMI (should work at local sites)
  • Load into caDSR.


comments:

EA tag value field issue -- Tue, 03 May 2005 12:17:31 -0400 reply
I am not able to extend the length of the tag-value-field in Enterprise Architect (I am using version 4.51.749). As a result of this, many of the definitions I tag to an UML class name or attribute are truncated and I have to manually append the truncated portions to the XMI I generated from the UML model. I am looking for a better solution to this problem.

Vishal Nayak, Biomedical Informatics Facility, University of Pennsylvania.

This page was last edited 4 years ago. View page history | Edit this page
Subject:


Comment:


    with signature
  change all links  leave placeholder


Powered by Zwiki, Zope, Python, and Mac OSX