90 likes | 246 Views
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?.
E N D
Semantics for DSL Group Members: RituArora, Diyang Chu, ZekaiDemirezen, Jeff Gray, Jacob Gulotta, Luis Pedro, Arturo Sanchez, Greg Sullivan,Ximing Yu
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?
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
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 • …
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
Concerns for defining DSLs • Concern: • separate syntax & semantics • define roles (language engineer, end-user) • define appropriate semantic domain • Document object model • Abstract state machine
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
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
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