Research on ConML currently focuses on the following areas.
Model management, languages and tools
Our experience has shown that, very often, models created with ConML are abstract reference models, i.e. models that describe reality at a very high level of abstraction in order to be widely applicable. These models need to be refined into a particular model before they can be used. Both abstract reference models and particular models are expressed in ConML, but some rules must be taken into account in order to guarantee their compatibility.
We are working in a model management framework, extension rules and tool set that will allow non-experts to extend abstract reference models into particular models, store them and use them later for production purposes or further extension. Generation of domain-specific languages (DSLs) from particular models is also under consideration.
Modelling of subjectivity, temporality, uncertainty and fragmentation
Conceptual models often assume that the modelled information corresponds to an objective, static, certain subset of reality. This is a convenient assumption to make, and in some occasions it does work. However, reality is often more complex than that; different people and groups have different subjective views on things, entities change over time, and our understanding of things are not always certain. This means that the information that we capture in a conceptual model might be, to some varying extent, subjective, temporary and uncertain. Furthermore, things around us are sometimes fragmented, i.e. broken into pieces. We can easily recognise that the pieces belong to the whole thing, but still each piece is itself an entity.
Subjectivity modelling refers to the variability that information exhibits depending on who produces it; for example, a Description attribute of a Building class can be said to be subjective, since different people would probably give different values to it for any particular building. Similarly, temporality modelling refers to the variability that information exhibits depending on when it is described; for example, a Height attribute of a Tree class is temporal because its value changes as time goes by. Uncertainty modelling refers to the variability that information exhibits when produced repeatedly and compared to itself (imprecision) or the entity that it represents (inexactitude). Finally, fragmentation modelling refers to the correspondence between fragments of an entity and the entity itself, which, in turn, entails certain surrogate capabilities: the fragments can, to some degree, act in place of the whole.
The latest release of ConML incorporates support for subjectivity and temporality, as well as basic support for uncertainty. We are actively working to improve this in the mid-term. Fragmentation is being studied separately, since its treatment is likely to require a very different approach.