on the quest for flexible modelling
play

On the Quest for Flexible Modelling Esther Guerra, Juan de Lara - PowerPoint PPT Presentation

On the Quest for Flexible Modelling Esther Guerra, Juan de Lara MISO - Modelling & Software Engineering Research Group (miso.es) Universidad Aut onoma de Madrid (Spain) Esther Guerra On the Quest for Flexible Modelling MoDELS 2018 1 /


  1. On the Quest for Flexible Modelling Esther Guerra, Juan de Lara MISO - Modelling & Software Engineering Research Group (miso.es) Universidad Aut´ onoma de Madrid (Spain) Esther Guerra On the Quest for Flexible Modelling MoDELS 2018 1 / 23

  2. Motivation Diverse nature of modelling, ranging: from informal (e.g., for discussion) to fully formal (e.g., for code generation) Most modelling tools only serve one of these extreme purposes: create informal models or diagrams (imprecise) build models fully conformant to the modelling language (rigid) MDE tools on the rigid side: it hinders a wider adoption of MDE unnecessarily complex solutions to some scenarios Esther Guerra On the Quest for Flexible Modelling MoDELS 2018 2 / 23

  3. Contribution Our claim: modelling tools need further flexibility cover different stages, purposes, and approaches explicit modelling process and conformance rules In this presentation: requirements for flexible modelling tools application scenarios our proposal: meta-modelling language + explicit modelling process the Kite meta-modelling framework Esther Guerra On the Quest for Flexible Modelling MoDELS 2018 3 / 23

  4. Requirements and Scenarios Esther Guerra On the Quest for Flexible Modelling MoDELS 2018 4 / 23

  5. Requirements and scenarios R1: Configurable inconsistency tolerance R1: The user should be able to relax the model conformance rules. Possibility to enable/disable: cardinality and integrity constraints Inconsistency R1 tolerance type checking of field values rigid configurable free objects with an abstract type objects with a non-existing type typing #instances cardinality constraints Esther Guerra On the Quest for Flexible Modelling MoDELS 2018 5 / 23

  6. Requirements and scenarios R1: Configurable inconsistency tolerance R1: The user should be able to relax the model conformance rules. Scenarios: model life-cycle: from less to more strict rules model migration, meta-model evolution: incorrect models will “load” meta-model testing: partial, incorrect test models test-driven meta-model development: non-existing types and features Esther Guerra On the Quest for Flexible Modelling MoDELS 2018 5 / 23

  7. Requirements and scenarios R2: Information extension R2: The user should be able to dis(allow) information extension. Possibility to have (or not): objects with no type (it is type-safe) Information R2 extension typed objects with fields not in the object type untyped untyped objects features Esther Guerra On the Quest for Flexible Modelling MoDELS 2018 6 / 23

  8. Requirements and scenarios R2: Information extension R2: The user should be able to dis(allow) information extension. Scenarios: data injection: no meta-model upfront language extension: emergent features as untyped elements auxiliary computation elements: flags, clocks... as untyped elements language creation: creating types from untyped elements Esther Guerra On the Quest for Flexible Modelling MoDELS 2018 6 / 23

  9. Requirements and scenarios R3: Configurable classification relation R3: The user should be able to configure the classification relation. Possibility to enable/disable: Modelling tools typically support: single, static typing dynamic, multiple typing creation and a-posteriori types creation types two meta-levels multiple meta-levels R3 Classification #classifiers levels dynamicity classification time #model types single-c multiple-c 2level multilevel static dynamic creation a-posteriori single-m multiple-m Esther Guerra On the Quest for Flexible Modelling MoDELS 2018 7 / 23

  10. Requirements and scenarios R3: Configurable classification relation R3: The user should be able to configure the classification relation. Scenarios: reuse of model operations: by allowing multiple typing Graph OO Element MM MM defined name: String over Container * cnt cl Package Class operation flatten ti fl * * lf * pck (Container c) = Leaf c.cnt… creation type a posteriori type OO model «Container» :Package applicable to name=“org” «Container» «Leaf» :Package :Class name=“people” name=“Person” joint instantiation of sets of classes: e.g., used in ontologies multi-level modelling: by allowing multiple meta-levels Esther Guerra On the Quest for Flexible Modelling MoDELS 2018 7 / 23

  11. Requirements and scenarios R4: Configurable generalisation relation R4: The user should be able to configure the generalisation relation. Possibility to enable/disable: multiple inheritance R4 Generalization generalisation between objects multiple object- inheritance level Esther Guerra On the Quest for Flexible Modelling MoDELS 2018 8 / 23

  12. Requirements and scenarios R4: Configurable generalisation relation R4: The user should be able to configure the generalisation relation. Scenarios: model libraries: reusable by object inheritance Esther Guerra On the Quest for Flexible Modelling MoDELS 2018 8 / 23

  13. Requirements and scenarios R5: Explicit and configurable modelling process R5: The tool should allow defining and enacting modelling processes. Modelling processes: phases, conformance rules R5 Process order of object creation modelling process current modelling phase process intent manual explicit generic domain- state bottom-up top-down blended specific change automatic model refinement configurable manual automatic process intent meta-model creation (bottom-up, top-down, blended) model creation Esther Guerra On the Quest for Flexible Modelling MoDELS 2018 9 / 23

  14. Requirements and scenarios R5: Explicit and configurable modelling process R5: The tool should allow defining and enacting modelling processes. Scenarios: transition from informal to formal modelling modelling guidelines: e.g., in UML, classes first Esther Guerra On the Quest for Flexible Modelling MoDELS 2018 9 / 23

  15. Requirements and scenarios R6: Process-aware extensible assistance R6: Fixes and refactorings may depend on the process intent. For example, given a model error: bottom-up fixes modify the meta-model Process top-down fixes modify the model R6 assistance domain-specific fixes extensible Esther Guerra On the Quest for Flexible Modelling MoDELS 2018 10 / 23

  16. Requirements and scenarios R6: Process-aware extensible assistance R6: Fixes and refactorings may depend on the process intent. Scenarios: model refinement: model fixes and refactorings live meta-model/model co-evolution: model fixes and refactorings bottom-up meta-modelling: meta-model fixes recommendation systems Esther Guerra On the Quest for Flexible Modelling MoDELS 2018 10 / 23

  17. Our Proposal Esther Guerra On the Quest for Flexible Modelling MoDELS 2018 11 / 23

  18. Architecture meta-modelling language for flexible modelling explicit modelling process modelling process meta-model for flexible modelling meta-model «conf. to» (linguistic) «conf. to» (linguistic) modelling process model ecosystem phase phase phase phase model model 4 1 2 3 «conf. to» «conf. to» current phase (onto.) (onto.) model process supervisor «conf. to» (ontologic) configures check fix check fix check fix check fix model selector selector selects selects feedback configurable model checks fixes validator «extensible» Esther Guerra On the Quest for Flexible Modelling MoDELS 2018 12 / 23

  19. Meta-modelling language Basic modelling elements (R3, R4) Support for multiple levels (one class to represent types and instances) Models and objects can have features and constraints Instantiation cardinality vs Value cardinality References can have several targets, at any level Generalization at any meta-level (relation Object.super ) Integrity TypedElement ValuedElement Constraint name: String lbound_v: int name: String lbound: int ubound_v: int body: String ubound: int features Featured Feature Element context * super to * * Model Object Attribute Reference Target objects object * Esther Guerra On the Quest for Flexible Modelling MoDELS 2018 13 / 23

  20. Meta-modelling language Basic modelling elements (R3, R4) Support for multiple levels (one class to represent types and instances) Models and objects can have features and constraints Instantiation cardinality vs Value cardinality References can have several targets, at any level Generalization at any meta-level (relation Object.super ) Integrity TypedElement ValuedElement Constraint name: String lbound_v: int name: String lbound: int ubound_v: int body: String ubound: int features Featured Feature Element context * super to * * Model Object Attribute Reference Target objects object * Esther Guerra On the Quest for Flexible Modelling MoDELS 2018 13 / 23

  21. Meta-modelling language Basic modelling elements (R3, R4) Support for multiple levels (one class to represent types and instances) Models and objects can have features and constraints Instantiation cardinality vs Value cardinality References can have several targets, at any level Generalization at any meta-level (relation Object.super ) Integrity TypedElement ValuedElement Constraint name: String lbound_v: int name: String lbound: int ubound_v: int body: String ubound: int features Featured Feature Element context * super to * * Model Object Attribute Reference Target objects object * Esther Guerra On the Quest for Flexible Modelling MoDELS 2018 13 / 23

Recommend


More recommend