180 likes | 202 Views
Explore type models, conformance, relations between models, self-description, efficiency, usability, and more in the field of language engineering. Dive into syntax-directed modeling environments, ontological domain models, and efficient representation methods such as TrNET. Learn about self-describable representations, usable representations like UML, and modeling meta-modeling environments. Enhance your understanding of variability analysis, synchronization of abstract and concrete syntax, and the structure of modeling environments. Discover tools, patterns, and the interplay between model and language fragments.
E N D
Models forLanguage Engineering Bruno F. Barroca
Outline: • Type Models • Conformance • Relations between models • (Model) Representation • Self-description • Efficiency • Usability • Model of a Meta-Modeling Environment
Type Models: Types of Type models • Linguistic • Grammars • Parsers (Strings -> Trees) • Visitor Pattern (Trees -> Graphs) • Attribute Grammars (Multi-stage programming) • Metamodels (Modelverse, ECore, KM3, etc.) • Syntax-directed modeling environments • Instantiation (Factory Pattern) • Ontological (General) • Domain Models (Automotive, Bio-informatics, Pharmaceuticals) • Constraint solving • Model Checkers • Theorem provers • Description Logics / Reasoners • Orthogonal analysis
Relations betweenModels • Models and Models • Model Transformations • Match Models • Apply Models • Conformance with Type Models • Model elements • From different models • Models and Model Elements • Relations are also typed • Megamodeling • Multi-level modeling
Self-describable representations • Online (live) modifications and updates • Granularity • Boundary (scope) of self-modification • Built-in functionality • Heterogeneity problems • Rewrite itself onto a new platform (situation) • Based on some specification • Typically a Platform model, or • Deployment model
Efficient representation • Match operation on Graphs is a NP-Complete Problem • Match operation on Trees (Visitor pattern) • TrNET (Join operations, Construction of complex match patterns based on simple ones) • Analysis • Overlapped pattern matching • Automated redundancy check • Clone detection • Optimization (cost models) • Easier to match on paths? • with proper representation • Almost constant complexity • How to represent Graphs as paths? • Time complexity • Spatial complexity • Redundancy
Usable representation • General modeling languages? (e.g., UML) • Structure • Class Diagrams • Component Diagrams • Behavior • State charts • Finite state machines • Sequence Diagrams • SCCD with ActionCode • Time concept • DEVS with Neutral Action Code • DEVSPro • DEVSLang • Action Code • Programming Language agnostic • Platform independent (API/Library)
Modeling of (Meta) Modeling Environments? • Variability analysis • Features • Language Engineering Domain analysis • Types and Patterns • Synchronization of Abstract Syntax with Concrete Syntax • Merge/composition/weaving of arbitrary AS with CS • Notion of model and language fragments • Network language as a glue for the fragments • CS Metamodel? • Diagram/canvas graphical objects/Toolbars/Property Views • Structure • Behavior • Wizards and Tutorials • Notion of Layers • Restricted views based on User profiles