MODELS 2024
Sun 22 - Fri 27 September 2024 Linz, Austria

During the early modeling phase, model developers must manage a wide range of potential design alternatives that are frequently incomplete or inconsistent. However, existing modeling tools force developers to work with concrete models, making developers formulate possible design decisions outside the modeling editor and losing the available model validation or transformation support.

Partial modeling is a technique to support the explicit modeling of uncertainty in models, which needs mathematically precise reasoning tools to inform the user about the impact of each design decision on the range of valid models. Scalability challenges make traditional logic solvers ill-equipped to analyze partial graph models in industrial contexts.

More recently, the Refinery framework has been introduced to manage partial models and carry out analysis and graph generation using algorithms specifically tailored for large software and system models. In this tutorial, we present the partial modeling formalism and language offered by Refinery and showcase its analysis and graph generation capabilities for (1) querying and reasoning over models with incomplete information, (2) pinpointing validation errors and inconsistencies in information coming from multiple sources, and (3) concretizing partial models to obtain possible test cases or design candidates automatically. The tutorial leverages Refinery’s web-based partial modeling environment for an installation-free experience.