Presentation is loading. Please wait.

Presentation is loading. Please wait.

McGill University School of Computer Science Ph.D. Student in the Modelling, Simulation and Design Lab GraBaTS08 Eugene Syriani Hans Vangheluwe.

Similar presentations


Presentation on theme: "McGill University School of Computer Science Ph.D. Student in the Modelling, Simulation and Design Lab GraBaTS08 Eugene Syriani Hans Vangheluwe."— Presentation transcript:

1 McGill University School of Computer Science Ph.D. Student in the Modelling, Simulation and Design Lab GraBaTS08 Eugene Syriani Hans Vangheluwe

2 GraBaTS08 OVERVIEW Highlights of MoTif Domain-Specific modelling with AToM 3 MoTif Solution for the AntWorld case-study Outlook 2

3 GraBaTS08 HIGHLIGHTS Structure: Modular, Compositional Control Flow: Sequencing, Branching, Looping, Parallelism, Hierarchy Time Rules: Subtype matching Pivot passing/binding NAC Attribute constraints Regex-like patterns Efficient Matching Inter-rule optimization: Performance Incremental changes Expressiveness vs Performance 3

4 GraBaTS08 DOMAIN-SPECIFIC MODELLING WITH ATOM 3 [1] 4 [1] de Lara J., Vangheluwe H., AToM 3 : A tool for multi-formalism and meta-modelling. FASE, LNCS 2306 (2002), 174-188

5 GraBaTS08 MoTiF [2] AtomicRule (ARule): transformation rule application ForAllRule (FRule): apply on all matches (parallel independent) TransactionalRule (XRule): control backtracking enabled Selector: At most 1 rule is applied Synchronizer: synchronize (merge) threads of rule applications CoupledRule (CRule): parallel composition of inner models 5 [2] Syriani E. and Vangheluwe H.: Programmed Graph Rewriting with DEVS. AGTIVE 2007, LNCS (2008)

6 GraBaTS08 MoTiF EXECUTION COMPILE GENERATE IMPORT SIMULATE Class Grabfood : def match(): … def execute(): … Class Grabfood : def match(): … def execute(): … class Grabfood(ARule): def __init__(self): ARule.__init__(self, name=GF') self.state = ARuleState(Grabfood()) def weightFunction(self): return 1.0 class Grabfood(ARule): def __init__(self): ARule.__init__(self, name=GF') self.state = ARuleState(Grabfood()) def weightFunction(self): return 1.0 Class Grabfood : def match(): … def execute(): … Class Grabfood : def match(): … def execute(): … class Grabfood: def match(): … def execute(): … class Grabfood: def match(): … def execute(): … 6

7 GraBaTS08 ANTWORLD RULES 7

8 GraBaTS08 SOME ANTWORLD RULES 8 dropFoodcheckAntOnOutCircleconnectNodesInSameCircle goToSameNodeInmoveTowardsHillgrabFood

9 GraBaTS08 MODELLING OF TRANSFORMATION: SYSTEM 9

10 GraBaTS08 MODELLING OF THE TRANSFORMATION: Round CRule 10 Layers

11 GraBaTS08 MODELLING OF THE TRANSFORMATION: AntMovements CRule 11

12 GraBaTS08 OUTLOOK 12 Extension with human stepping on ants Model the user behaviour: event-driven model transformation Synthesis of a reactive web application with AJAX/SVG Real-time model transformation Continuum: Modelling Simulation Synthesis [3] E. Syriani and H. Vangheluwe. DEVS: A Semantic Domain For Programmed Graph Transformation. In Discrete Event System Specification, Taylor & Francis (2008) [3] Syriani E. and Vangheluwe H.: Programmed Graph Rewriting with Time for Simulation-based Design. ICMT 2007, LNCS 5063, pp. 91-106 (2008)

13 GraBaTS08 13 ?


Download ppt "McGill University School of Computer Science Ph.D. Student in the Modelling, Simulation and Design Lab GraBaTS08 Eugene Syriani Hans Vangheluwe."

Similar presentations


Ads by Google