1 / 17

Models for Language Engineering

Models for Language 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

jhatton
Download Presentation

Models for Language Engineering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Models forLanguage Engineering Bruno F. Barroca

  2. Outline: • Type Models • Conformance • Relations between models • (Model) Representation • Self-description • Efficiency • Usability • Model of a Meta-Modeling Environment

  3. 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

  4. Conformance

  5. Conformance

  6. 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

  7. 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

  8. 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

  9. 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)

  10. 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

  11. Thank you!

More Related