A framework for the definition of metamodels for Computer-Aided Software Engineering tools
(CASE) tools support modeling-related activities in development projects. Given the variety of tools and functionalities, it is quite common to work with several tools in the same project. However, data cannot usually be exchanged between these tools without loss of information. Recent approaches address this model interchange problem using metamodels to characterize the involved information and transformations to export/import it. Nevertheless, most of these solutions focus on the abstract syntax of models. They fail to consider aspects such as the presentation of models or tool-specific information, which are either disregarded or represented in ad-hoc ways that make difficult their processing. In order to overcome these limitations, this paper introduces a framework to define metamodels of CASE tools and a process to carry out the model interchange using them. The proposed metamodels have a modular organization with several internal metamodels. Each of them is aimed at describing some specific information about content, structure and presentation for both models and tools. The paper illustrates this approach with a case study used for comparison with existing works for this problem.