mcgill university school of computer science ph.d. student in the modelling, simulation and design...

Post on 30-Mar-2015

218 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

McGill UniversitySchool of Computer Science

Ph.D. Student in the Modelling, Simulation and Design Lab

GraBaTS’08

MoTif for the AntWorld Simulation

Tool ContestEugene Syriani

Hans Vangheluwe

MoTif for the AntWorld Simulation Tool Contest

GraBaTS’08

OVERVIEW

Highlights of MoTif

Domain-Specific modelling with AToM3

MoTif Solution for the AntWorld case-study

Outlook2

MoTif for the AntWorld Simulation Tool Contest

GraBaTS’08

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

MoTif for the AntWorld Simulation Tool Contest

GraBaTS’08

DOMAIN-SPECIFIC MODELLING WITH ATOM3 [1]

4[1] de Lara J., Vangheluwe H., AToM3: A tool for multi-formalism and meta-modelling. FASE, LNCS 2306 (2002), 174-188

MoTif for the AntWorld Simulation Tool Contest

GraBaTS’08

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 models5[2] Syriani E. and Vangheluwe H.: Programmed Graph Rewriting with DEVS. AGTIVE 2007, LNCS (2008)

MoTif for the AntWorld Simulation Tool Contest

GraBaTS’08 MoTiF EXECUTION

COMPILE

GENERATE

IMPORT

SIMULATE

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 : def match(): … def execute(): …

class Grabfood: def match(): … def execute(): …

6

MoTif for the AntWorld Simulation Tool Contest

GraBaTS’08

ANTWORLD RULES

7

MoTif for the AntWorld Simulation Tool Contest

GraBaTS’08

SOME ANTWORLD RULES

8

dropFood checkAntOnOutCircleconnectNodesInSameCircle

goToSameNodeIn moveTowardsHill grabFood

MoTif for the AntWorld Simulation Tool Contest

GraBaTS’08 MODELLING OF TRANSFORMATION: SYSTEM

9

MoTif for the AntWorld Simulation Tool Contest

GraBaTS’08 MODELLING OF THE TRANSFORMATION: Round CRule

10

• Layers

MoTif for the AntWorld Simulation Tool Contest

GraBaTS’08MODELLING OF THE TRANSFORMATION: AntMovements CRule

11

MoTif for the AntWorld Simulation Tool Contest

GraBaTS’08

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)

MoTif for the AntWorld Simulation Tool Contest

GraBaTS’08

13

?

top related