A generic model decomposition technique and its application to the Eclipse modeling framework
Model-driven software development aims at easing the process of software development by using models as primary artifacts. Although less complex than the real systems, they are based on models tend to be complex nevertheless, thus making the task of handling them non-trivial in many cases. In this paper, we propose a generic model decomposition technique to facilitate model management by decomposing complex models into smaller sub-models that conform to the same metamodel as the original model. The technique is based upon a formal foundation that consists of a formal capturing of the concepts of models, metamodels, and model conformance; a formal constraint language based on EssentialOCL; and a set of formally proved properties of the technique. We organize the decomposed sub-models in a mathematical structure as a lattice, and design a linear-time algorithm for constructing this decomposition. The generic model decomposition technique is applied to the Eclipse modeling framework, and the result is used to build a solution to a specific model comprehension problem of Ecore models based upon model pruning. We report two case studies of the model comprehension method: one in BPMN and the other in fUML.
model decomposition essentialocl linear-time algorithm model comprehension bpmn fuml mde emf sub-model lattice ocl