Skip to content
Conference

A Domain Specific Language for Pattern Specification and Automated Validation for Metamodel-Based Languages

Aug 2026 · 2026 IEEE 34th International Requirements Engineering Conference Workshops (REW) · pp. 341-350 · 0 citations · 24 references

Abstract

Large collections of software artifacts often contain recurring structural patterns that can provide useful evidence for language understanding or empirical analysis, and provide requirements for language improvement of self-adaptable languages. OCL-based queries may specify such patterns but become more complex when patterns involve nested relations, repeated structures, or sequence-sensitive constraints. This paper presents the Pattern Definition Language (PDL), a domainspecific language for specifying structural patterns over EMF-based metamodels. PDL directly supports both unordered and ordered structural constraints, allowing sequence-sensitive patterns to be expressed declaratively without manually encoding positional logic. To operationalize these specifications, a model-to-text transformation automatically generates executable validators from PDL models that enable the detection of the specified pattern in artifacts. The approach is evaluated on a dataset of 29,069 DevOps pipeline YAML files using two complementary pattern discovery settings: statistical pattern mining and LLM prompting. The identified pipeline patterns are reconstructed in PDL, transformed into validators, and compared with mining-based occurrence results and independent Python-based matchers, respectively. The results show exact agreement for most evaluated patterns. All mismatch cases are explainable through differences between raw YAML-level structural matching / Python-based parsing and metamodel-level interpretation, demonstrating that the proposed workflow can validate structural pattern occurrences. The results indicate that PDL and its model-to-text transformation workflow provide a systematic basis for structural pattern specification and automated validation in metamodel-based languages.

View source

We use cookies to run the site and, with your consent, for analytics and to show ads. See our Cookie Policy.