High-performance event-driven executable UML?

Reading Time: < 1 minute

Next week sees another OMG Technical Meeting, co-hosted with the SOA Consortium. OMG is mostly known [*1] for its UML modeling language, and one of the topics in OMG is the subject of “Executable UML” (indeed there is a book on the subject). The idea here is that, instead of using Model Driven Architecture principles (i.e. various model transitions between levels, ending up with code), the UML model can contain enough information to be directly executable by a “UML interpreter”. Typically this requires adding “Action Semantics” or some kind of scripted, executable methods to the model, which is possibly why executable UML is not a particularly popular practice. Plus there is the old, hoary topic of possibly making the model more difficult to read than the equivalent Java/3GL code (which could be a statement on the relative availability of detailed UML vs detailed Java skills).

Meanwhile, someone mentioned (on the separate topic of Enterprise Process modelling) that TIBCO’s standards-based CEP toolset, TIBCO BusinessEvents, is effectively an instance of “executable UML”. For sure, it does not include all (indeed it is very much a subset) of UML 2.0 (e.g. nothing to do with UML pins…) , and the production rules part of UML is still in beta (PRR), but nonetheless the concept (aka class) model and state model are standard UML components. Of course, one uses the Java-like BE rule/action language instead of action semantics script, and the application is generated (as opposed to “interpreted”), but nonetheless it can certainly be described as an event-driven, high-performance, automatic-persistence, executable UML-subset tool…


[1] However, OMG has diversified into more topical standardization issues such as BPM orchestration flows (BPMN), ontology mappings (ODM), business architecture (a new Special Interest Group), business statements (SBVR), and so forth.