Variability modeling is widely used in software product line engineering to support reusability. Specifically, it is used in the derivation of concrete software products from a reusable solution within a family of products. To help manage variability, several modeling languages have been proposed for representing variability within a family of products. The study and evaluation of languages to model variability has so far focused on practical aspects of such languages. Less attention has been paid to more theoretical approaches to the analysis of variability modeling languages. In developing such approaches it would be of particular interest to explore the ability of variability modeling to represent the information about the real world (application) domain for which the product family is designed. In information systems research, evaluation of expressiveness of conceptual modeling languages has been done based on ontological theories. This paper describes a framework for general analysis of types of variability based on Bunge's ontology and derives a variability framework which is used to evaluate variability modeling languages.