Conceptual modelling is the process of the software life cycle concerned with the identification and specification of requirements for the system to be built. In the last years, the ever increasing demands for software correctness have encouraged the use of formal methods in the modelling process. The use of formal specification languages provides more precise and concise specifications, and a basis for formal verification. Nevertheless, there is still a need for techniques to support the validation of formal specifications against the informal user requirements. The importance of early requirements validation is widely accepted. It is a well-known fact that errors and misunderstandings introduced in the early phases of systems development are the most difficult and costly ones to correct, unless detected early. A limitation of formal specifications is that they cannot readily be understood by users unless they have been specially trained. However, user validation can be facilitated by exploiting the executable aspects of formal specification languages. Through specification animation, users can test and investigate the dynamic behaviour of the specification in several scenarios to see if it adequately captures their real needs. This thesis presents a systematic approach and workbench environment to support the construction and validation through animation of Troll specifications. Troll is a formal object-oriented language designed for the analysis and design of distributed information systems. Our approach is an iterative requirements definition process consisting of the formal specification of requirements, the automatic transformation of the specification into an executable form, and the interactive animation of the executable version to validate user requirements. To provide objects with persistence in the animation environment, we analyse how the static structure of Troll objects can be mapped into relational tables. In order to execute the specification, we analyse the operational meaning of state transitions in Troll, determine an execution model, and describe the transformation of the specifications into C++ code. We present a prototype implementation of the workbench environment.