UML in Action: Executable UML with the Alf Action Language
The growing set of OMG standards for executable UML bring the power of well-known UML graphical class, state machine and activity diagramming to the creation of fully executable models. Even complex behaviors for operations or a state and transition behaviors can be specified using executable UML activity models. Unfortunately, though, at a certain level of detail, the UML activity diagram notation starts becoming cumbersome. When this happens, the typical solution is to use instead a textual notion for writing detailed behaviors, which are attached as snippets within a graphical model. In software development, these snippets are often written in a programming language such as C++ or Java. In other cases they may be written in a scripting language or proprietary action language. However, this approach brings with it a dissonance between the semantics of the programming/scripting language being used and UML as an executable modeling language. It requires non-standard conventions, in order to integrate the execution of code snippets into execution of the overall UML model, and it limits the use of UML model-level semantics within the action code. Now, however, there is an OMG standard action language for UML called Alf. The Alf notation has a familiar scripting-language-like syntax, but it compiles to UML activities that integrate seamlessly with the execution of the overall model in which it is used. In this way, using Alf allows you to put standard UML executable semantics fully into action, unlocking the power of executable modeling from top to bottom in your most sophisticated UML models. This talk will demonstrate how how Alf can be applied today within MagicDraw for execution using Cameo Simulation Toolkit.