What are the consequences of applying the MDA on the modeling languages? To be able to write PIMs that completely specify the system to be generated, including both static and dynamic aspects, we need a different set of modeling languages.
Today's modeling languages provide us with the means to specify the structural part of the functionality in a PIM. For the dynamic part, they depend on ordinary programming languages to fill in the gaps in the model. The action language used in Executable UML (Mellor and Balcer 2002) tries to fill this gap, but as explained in section 3.2.2, the available concepts are at the same abstraction level as the current procedural and object oriented languages. Unless the action language gets to a higher level of abstraction, it will not be able to support the MDA process fully.
A modeling language suited for MDA should offer the following:
Note that when a modeling language is created that allows full specification of a system, including both static and dynamic aspects, it becomes more than a modeling language. In fact, the modeling languages of tomorrow will have the same status as the high-level programming languages of today.