Applications then Models then Tools

app -> model -> method -> tool -> standard

application is first

  • model abstracts application
  • model conforms to method
  • method applies standard
  • tool enforces standard
  • tool manifests method
  • tool edits model

Tools are cool, and modeling languages (methods) are a passion.  But applications are at the root of everything software.  By application I mean a problem that is being solved with software.  Tools and methods have usefulness only insomuch as they are employed to encode applications.  It is the deepest honor of languages and tools to be selected to program the applications.

C+vi, UML-RT+Papyrus-RT, xtUML+BridgePoint, Java+JDT, … a combination earning honor each time it is chosen.

The value of the application then has been captured by the model.  The application can be communicated through its model encoding.  A base of models becomes a body of intellectual property.  Bodies of intellectual property represent assets to be preserved, protected, extended, reused and leveraged for the future.

Tools are cool, but they do not rule.