Download presentation
Presentation is loading. Please wait.
Published byErika Watts Modified over 9 years ago
1
Semantics for DSL Group Members: Ritu Arora, Diyang Chu, Zekai Demirezen, 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 – ATOM 3 (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
M3 M2 M1 myDSL Metamodel myDSL.dsl EBNF myDSL.g Grammar myDSL Model KM3 myDSL Technical Space Model-Driven Engineering Technical Space FSMDSL Metamodel FSMDSL.g Grammar FSM.fsmdsl Extraction Injection Legend: M1 = Terminal model level M2 = Metamodel level M3 = Meta- metamodel level Anchor FSM Technical Space myDSL to FSMDSL Transformation Conforms to FSMDSL Model Operational Semantics
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.