A VERY FAST CONSTRAINT SOLVER INTERPRETER FOR EVALUATING MODEL CONSTRAINTS
Date
Authors
Language
Embargo Lift Date
Department
Committee Members
Degree
Degree Year
Department
Grantor
Journal Title
Journal ISSN
Volume Title
Found At
Abstract
Model-Driven Engineering (MDE) facilitates building solutions in many enterprise application domains through the systematic use of graphical languages called domain-specific modeling languages (DSMLs). MDE tools, such as the Generic Modeling Environment (GME) and the Generic Eclipse Modeling System (GEMS), enable end-users to rapidly create such custom DSMLs. One advantage of using DSMLs is its correct-by-construction characteristics, which is provided by domain-specific constraints defined within these custom languages. The constraints, written in Object Constraint Language (OCL), are evaluated during and after model construction using a constraint checker. For example, GME provides a Constraint Manager (CM) that evaluate the constraints defined by a DSMLs against its models. Unfortunately, our experience has shown that the constraint checkers provided by MDE tools do not scale to large models (i.e., models that have 10s of 1000s of model elements and 10s of 100s of constraints). Our research therefore focuses on developing a very fast OCL constraint solver that can address the current shortcomings of existing OCL constraint solvers in the context of GME. Our design approach leverages best practices in software design patterns, caching, and multi-threading to improve its performance and scalability. Initial results of our work show that for small models (e.g., 10s to 100s of elements), the traditional constraint solvers run slightly faster than our approach. For models with more than 1000s of elements, our approach is twice as fast, and performs exponential better as the size and complexity of the models increase.