composition semantics for executable and evolvable behavioral modeling in mda
The vision of MDA is to decouple the way that application systems are defined from the specification of their deployment platform. Achieving this vision requires that Platform Independent models are rich enough to capture the behavior of the application, and to support reasoning and execution of functional behavior. We focus on state transition modeling as being the best able to support MDA and appraise the two types of state machine (Behavior State Machines and Protocol State Machines) defined in UML. We conclude that, for different reasons, neither has semantics that are well placed to serve as a basis for PIM level behavior modeling. We propose that state transition modeling can be both simplified and strengthened by providing semantics that support process algebraic composition. We claim a number of important advantages for this. Firstly, it provides a common language for defining a range of behavioral abstractions, including software components, behavioral contracts and cross-cutting aspects. Secondly that it better supports analysis of models, by exploiting the formal analysis techniques of process algebra. Thirdly, the semantics enable model execution and testing at the platform independent level across a wider domain than is possible with current UML formalisms.
behavior modeling mda platform independent model reasoning csp parallel composition ccs composition