The Action Semantics for UML provides a standard and platform independent way to describe the behavior of methods and executable actions in object-oriented system design prior to implementation allowing the development of highly automated and optimized code generators for UML CASE tools. In the paper, we evaluate the use of Action Semantics in the model driven development of reactive and safety critical systems. Finally, we propose a static safety analysis technique to identify incompleteness, non-determinism and inconsistencies in behavioral specifications using Action Semantics descriptions.