Abstract
This thesis presents a framework that expands upon the idea of a fully model-driven approach to editor development for Graphical Domain Specific Languages (DSL), originally put forth by the Graphical Modeling Framework (GMF). The framework's main component consists of a language for the declarative definition of editing behavior for said editors. We define the Behavioral Definition Language (BDL), and the execution semantics of a BDL-instance, Behavioral Definitions (BD).
Inconsistent DSL-instances are not desired when modeling them using modern editors. However, during user-interaction with the editor, edits may be attempted that would, if permitted, create inconsistent models. Instead of denying such edits we propose a different approach: to commit the edit to a separate model capable of representing the result of an inconsistency-creating edit. Upon this model we use editing behaviors to resolve the inconsistencies before committing any alterations to the DSL-instances. To simplify the complexity of reasoning about what editing behaviors may be applied, we present a method for presenting editing behaviors to a user for selection. Letting editing behaviors focus on resolving small fragments of inconsistency, while letting the user select the appropriate set of behaviors to ultimately create a DSL-consistent model.
The method presented for defining editing behaviors is based on graph transformation; we use graph transformation rules and patterns therein, to pattern-match rules against models capable of representing inconsistent DSL-instances ("models of inconsistency"). This to determine when and for what inconsistencies we may present editing behaviors to the user for selection. Using comprehensive examples, we argue for the validity of our approach to the definition and applicability of editing behaviors defined in such a manner.