1 / 24

Formal Semantics of Metamodeling Frameworks

Formal Semantics of Metamodeling Frameworks. Semantics of Metamodeling. Ethan Jackson ISIS, Vanderbilt University. Semantic Anchoring Infrastructure. Kai Chen ISIS, Vanderbilt University. Metamodels As Formal Objects. Pumping Lemma. Is a string in the language?.

gari
Télécharger la présentation

Formal Semantics of Metamodeling Frameworks

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. Formal Semantics of Metamodeling Frameworks Semantics of Metamodeling Ethan Jackson ISIS, Vanderbilt University Semantic Anchoring Infrastructure Kai Chen ISIS, Vanderbilt University

  2. Metamodels As Formal Objects Pumping Lemma Is a string in the language? If it is accepted by the DFA ? Is a model well-formed? ? If Graph structure, type structure, containment, aspects, etc… are valid

  3. Valid Model Invalid Model Denotational Structural Semantics • Define an algebraic structure that is rich enough to express all of the modeling concepts. (e.g. a graph with typed vertices and edges). All realizations form a set. 2. Define constraints on this set so that only valid models are included Set of all Realizations 3. A metamodel carves out a subset of this valid space. 4. A meta-metamodel exists if it is a metamodel that carves out the set of all metamodels

  4. Tailoring the Semantics Metamodeling constraints Topological Layer Metamodel Constraints Object Instantiation Layer Extension Layer

  5. The Layered Approach By choosing a layer, one chooses the set of concepts that naturally suite the semantic domain. 2 3 1 4 5 a/b 2 c/d a/b 3 Accept 2 c/d 1 Start 3 Accept 1 Start e/f e/f 4 5 a/f 4 5 a/f

  6. Layer Preservation Layers progressively adds information. This is stated formally as layer preservation.

  7. Applications Environment is expressive Automatically generated Trivial bijective mapping Automatically generated Textual Additional semantics that utilize the formal structures, Proofs Giotto Metamodel is a formal object that simultaneously describes a modeling environment and a structural semantics. ASML The semantics of the metamodeling framework need not be reproduced, but just referenced. MoC is descriptive, yet “baggage-free” because it builds off of the formal definition of the metamodel.

  8. Semantic Anchoring Infrastructure • Semantic Unit • A well-defined DSML that captures the semantics of a particular model of computation. • Semantic Anchoring • Define the semantics of a DSML through the transformational specification to a semantic unit. AsmL Tools GME Toolset GReAT Tool AsmL Spec Model Checker AsmL Behavioral Semantic Spec AsmL Metamodel DSML Metamdoel Transformational Specification Test Case Generator Mc Generate Instance Transition Engine AsmL Data Model Domain Model AsmL Model (XML Format) XML Parser Model Simulator

  9. A Semantic Unit for Timed Automata Based Modeling Language • Common semantic domain for varied timed automata based modeling languages. • Guard • Priority • Synchronization MoC Semantic Unit MoC Variants AsmL Tools Timed Automata (AsmL Supported Semantics) Kronos Lang. UPPAAL Lang. IF Lang. Model Checker S S GReAT Tool MS MS Test Case Generator GME Toolset A A Semantic Anchoring Model Simulator MC MC C C Transformation T

  10. FSM Metamodel

  11. FSM Model

  12. Metamodel for AsmL Abstract Data Model

  13. AsmL Abstract Data Model

  14. AsmL Behavioral Semantic Specifications

  15. Transformational Specifications

  16. AsmL Data Model in XML Format

  17. AsmL Data Model

  18. Distributed Real-time System (1) • Abstract Syntax (1) • Component Interactions

  19. Distributed Real-time System (2) • Abstract Syntax (2) • Component Behaviors

  20. Distributed Real-time System (3) • AsmL Abstract Data Structure class State id as String option as STATEOPTION class Transition id as String option as TRANSITIONOPTION abstractclass TimeAutomata var currentState as State? = null abstractproperty states as Set of State abstractproperty transitions as Set of Transition abstractproperty localClocks as Set of Clock abstractproperty outTransitions as Map of <State, Set of Transition> abstractproperty srcState as Map of <Transition, State> abstractproperty dstState as Map of <Transition, State> abstractproperty syns as Map of <Transition, (SignalChannel, SYNMODE)> abstractclass DRTSystem abstractproperty timeAutomatas as Set of TimeAutomata abstractproperty signalChannels as Set of SignalChannel abstractproperty signalRouters as Set of SignalRouter var activeAutomatas as Set of TimeAutomata = {}

  21. Distributed Real-time System (4) • AsmL Behavior Semantics Specification //In the current clock time, whether the time guard of an transition is true IsTimeGuardTrueNow (t as Transition) as Boolean require t inme.transitions stepreturn TimeGuard (t) //In the next clock time, whether the time guard of an transition is true IsTimeGuardTureNext (t as Transition) as Boolean require t in me.transitions step forall c in globalClocks c.Go () forall c inme.localClocks c.Go () step let next = IsTimeGuardTrueNow (t) step forall c in globalClocks c.Back () forall c in localClocks c.Back () stepreturn next

  22. IF • Asynchronous Component Interaction • Simulation • Verification

  23. UPPAAL • Synchronous Component Interaction • Simulation • Verification

  24. The End Questions?

More Related