1 / 9

Semantics for DSL

Semantics for DSL. Group Members: Ritu Arora , Diyang Chu, Zekai Demirezen , Jeff Gray, Jacob Gulotta , Luis Pedro, Arturo Sanchez, Greg Sullivan , Ximing Yu. What do semantics mean for a modeling language?.

danae
Télécharger la présentation

Semantics for DSL

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. Semantics for DSL Group Members: RituArora, Diyang Chu, ZekaiDemirezen, Jeff Gray, Jacob Gulotta, Luis Pedro, Arturo Sanchez, Greg Sullivan,Ximing Yu

  2. What do semantics mean for a modeling language? • The details about the concepts that are in the mind of the domain-experts should be written formally. • The semantics represent the meaning of the phrases and sentences that the domain expert may express. • Box: Represents a State? Class? Foo?

  3. Why do we want a clear and precise representation of model semantics? • A clean formalism enables reasoning about desired properties • Analysis • deadlock analysis • ambiguity? • consistency? • Generation of associated tools from the semantics definition • Code generators • Debugging tools • Test cases • Visualization of execution/animation

  4. How to define the semantics for DSL? • The state of the art represents model semantics at a low-level • Defined in model interpreters • Emerging approaches • …

  5. Domain-Specific Semantics • Are the semantics of the DSL actually domain-specific? • Lack of a standard for defining semantics for DSLs • The notion of static semantics is easy and already defined in many tools; dynamic semantics represent the clear challenge • Proving properties of a GPL is challenging, but should be easier for DSLs (e.g., behavioral preservation of transformations, ambiguity) • Domain-specific properties • would be helpful if semantics are defined in a formal, declarative language

  6. Concerns for defining DSLs • Concern: • separate syntax & semantics • define roles (language engineer, end-user) • define appropriate semantic domain • Document object model • Abstract state machine

  7. Current Approaches 1 • Graph rewriting • ATOM3 (multi -formalism approach) • Any thing that can be defined as a model can be used as a meta-model • Subset of Python, OCL to define pre and post conditions • Used for simulation purposes • Combine Syntax and Semantic definition formalisms in one language. • Kermeta • Extends EMOF to enable behavior definitions of meta-elements

  8. Current Approaches 2 • Semantic Anchoring through transformation • Mapping meta elements in to semantic elements in another formalism with well-defined semantics • Example • Finite State Machine can be used along to define the semantics of the DSL • Transformation view on the next slide

  9. Operational Semantics Anchor FSM Technical Space Model-Driven Engineering Technical Space myDSL Technical Space Conforms to Conforms to Conforms to M3 EBNF EBNF KM3 Conforms to Conforms to myDSL.gGrammar myDSL Metamodel FSMDSL Metamodel FSMDSL.g Grammar M2 Conforms to Conforms to myDSL to FSMDSL Transformation Injection myDSL Model FSMDSL Model FSM.fsmdsl Extraction myDSL.dsl M1 Legend: M1 = Terminal model level M2 = Metamodel level M3 = Meta- metamodel level

More Related