This paper describes formal modeling and verification of automation systems from the system engineering point of view. Reuse of model components is the key issue in order to bring the scientific modeling methodology into engineering practice. The reuse is achieved by the combination of modular modeling of automation systems with object-oriented description of models in UML style. This allows to benefit from advantages of both worlds: efficiently manage highly hierarchical complex models with UML tools and end up with efficiently executable models with distributed states that are compatible also with IEC61499 function block specifications. The approach is supported by the tool framework that is described in the contribution.