McGill Universitygodfried/publications/similarity.pdf · 2004. 8. 18. · McGill University
McGill University School of Computer Science Ph.D. Student in the Modelling, Simulation and Design...
-
Upload
aidan-seelye -
Category
Documents
-
view
215 -
download
2
Transcript of McGill University School of Computer Science Ph.D. Student in the Modelling, Simulation and Design...
McGill UniversitySchool of Computer Science
Ph.D. Student in the Modelling, Simulation and Design Lab
Programmed Graph Rewriting with Time for
Simulation-Based Design
Eugene SyrianiHans Vangheluwe
McGill UniversitySchool of Computer Science
Ph.D. Student in the Modelling, Simulation and Design Lab
Programmed Graph Rewriting with Time for
Simulation-Based Design
Eugene SyrianiHans Vangheluwe
Programmed Graph Rewriting with Time for Simulation-Based Design
OVERVIEW
Background
In the context
The Modular Timed Graph Transformation (MoTiF) language
Case Study: Reactive PacMan Game
Modelling, Simulation and Synthesis
Modelling of transformation and its environment
Simulation for optimization
Synthesis of application
Conclusion and Future Work3
Programmed Graph Rewriting with Time for Simulation-Based Design
IN THE CONTEXT• Model Transformation Graph Transformation
• Controlled Graph Rewriting (rewriting rules)
• Control Primitives :Sequencing, Branching, Looping, Parallelism, Hierarchy
• Time is inherent in our transformation models
Modelling, Simulation and Synthesis4
Programmed Graph Rewriting with Time for Simulation-Based Design
IN THE CONTEXTModel of System
Model of Environment
Simulation Experiments
Synthesis of Application
5
Programmed Graph Rewriting with Time for Simulation-Based Design
MoTiF: SEMANTIC DOMAIN• The Discrete Event System Specification [1]
(DEVS) formalism
• Highly compositional simulation framework
• DEVS:– Blocks
– Ports
– Events
• Semantics: Parallel composition of blocks/models
6[1] Zeigler B.P., Multifacetted Modelling and Discrete Event Simulation/ Academic Press, London (1984)
Programmed Graph Rewriting with Time for Simulation-Based Design
MoTiF: SEMANTIC DOMAIN
Atomic DEVS:– Time Advance– Output Function– Internal Transition– External Transition
ATOMIC
7
Programmed Graph Rewriting with Time for Simulation-Based Design
MoTiF: SEMANTIC DOMAINCoupled DEVS
8
C1A1
A2
C2
Programmed Graph Rewriting with Time for Simulation-Based Design
MoTiF [2]• Blocks– Atomic: encapsulate a graph rewriting rule
– Coupled: encapsulate a set of rules (graph grammar)
• Events– Inport: receive the host graph
– Outport(s): send the transformed graph
9[2] Syriani E. and Vangheluwe H.: Programmed Graph Rewriting with DEVS. AGTIVE 2007, LNCS (2008)
Programmed Graph Rewriting with Time for Simulation-Based Design
MoTiFMODELLING ENVIRONMENT IN AToM3 [3]
10[3] de Lara J., Vangheluwe H., AToM3: A tool for multi-formalism and meta-modelling. FASE, LNCS 2306 (2002), 174-188
Programmed Graph Rewriting with Time for Simulation-Based Design
MoTiF EXECUTION
COMPILE
GENERATE
IMPORT
SIMULATE
class Pacmaneat: def match(): … def execute(): …
class Kill(ARule): def __init__(self): ARule.__init__(self, name=‘Kill') self.state = ARuleState(Pacdie()) def weightFunction(self): return 1.0
class Pacmanmoveri: def match(): … def execute(): …
class Pacmandie: def match(): … def execute(): …
11
Programmed Graph Rewriting with Time for Simulation-Based Design
CASE STUDY: REACTIVE PACMAN GAMESimplified PacMan formalism [4]
[4] Heckel R., Graph Transformation in a nutshell. FoVMT, ENTCS 148 (2006), 187-198 12
Programmed Graph Rewriting with Time for Simulation-Based Design
CASE STUDY: REACTIVE PACMAN GAMEBuild the Graph Rewriting Rules
13
14
2
1
2
5 pacLink
3
ghostLink
3
ghostLink
1: Match[1].score + 1
1
2
3
1
2
35
4
pacLink
foodLink
6
4
pacLink
Programmed Graph Rewriting with Time for Simulation-Based Design
CASE STUDY: REACTIVE PACMAN GAMEBuild the Graph Rewriting Rules
14
4
1 2
35
gridLeft
ghostLink
1 2
3
4
6
gridLeft
ghostLink
4
1 2
6
gridRight
pacLink
1 2
4
5
gridRight
pacLink
33
Programmed Graph Rewriting with Time for Simulation-Based Design
15
Simulation Experiments
Synthesis of Application
Model of System
Model of Environment
Programmed Graph Rewriting with Time for Simulation-Based Design
MODELLING OF THE TRANSFORMATION: SYSTEM
• User – Controller – Autonomous loop
• Feed-back to User
• On User interrupt: User Controlled
• Feed-back to User
Autonomous UserControlled
16
Programmed Graph Rewriting with Time for Simulation-Based Design
MODELLING OF THE TRANSFORMATION: AUTONOMOUS CRule
Priorities
17
Programmed Graph Rewriting with Time for Simulation-Based Design
MODELLING OF THE TRANSFORMATION: GHOSTMOVE CRule
Decider finds the next move for the ghost
Decider consumes time
18
Programmed Graph Rewriting with Time for Simulation-Based Design
MODELLING OF TRANSFORMATION: SYSTEM
Autonomous UserControlled
19
Programmed Graph Rewriting with Time for Simulation-Based Design
MODELLING OF THE TRANSFORMATION: USERCONTROLLED CRule
Conditional rule execution20
Programmed Graph Rewriting with Time for Simulation-Based Design
MODELLING OF THE TRANSFORMATION: SYSTEM
Autonomous UserControlled
21
Programmed Graph Rewriting with Time for Simulation-Based Design
MODELLING OF ENVIRONMENT: USER CoupledBlock
UserBehavior
UserInteraction
•Customization
•Modularity
22
Programmed Graph Rewriting with Time for Simulation-Based Design
MODEL OF THE PLAYER: STRATEGY
23
DummyRandom Smart
class Key: up = 'u' down = 'd' left = 'l' right = 'r' keys = [up, down, left, right]
def nextRandom(self): import random return random.Random().choice(Key.keys)
Programmed Graph Rewriting with Time for Simulation-Based Design
MODELLING OF ENVIRONMENT: USERBEHAVIOR CoupledBlock
Back-tracking
Collector consumes time
24
Programmed Graph Rewriting with Time for Simulation-Based Design
MODELLING OF ENVIRONMENT: TRYMOVE CRule
4
1 2
5
gridRight
pacLink
1 2
4
6
gridRight
pacLink
33
1
78
ghostLink
25Non-determinism
Programmed Graph Rewriting with Time for Simulation-Based Design
MODEL OF THE PLAYER: SPEEDPlayer reaction time [5]:– Thinking time
– Motorics time
26
𝑭ሺ𝒙ሻ= 𝒆−𝒆𝒃−𝒙𝒂
[5] Zaitev A.V., Skorik Y.A., Mathematical description of sensorimotor reaction time distribution, Human Psychology 28(4) (2002), 494-497
Slow Normal FastVery Fast
Programmed Graph Rewriting with Time for Simulation-Based Design
27
Simulation Experiments
Synthesis of Application
Model of System
Model of Environment
Programmed Graph Rewriting with Time for Simulation-Based Design
WHY DO WE NEED SIMULATION?
• A.I. StrategyRandom – Smart – Very Smart
• SpeedToo Slow – … – Too Fast
Fix Strategy: Very Smart
Find optimal speed
We want to build a “playable” game
28
Programmed Graph Rewriting with Time for Simulation-Based Design
SIMULATION RESULTSFinding the optimal game speed
29
Programmed Graph Rewriting with Time for Simulation-Based Design
30
Synthesis of Application
Simulation Experiments
Model of System
Model of Environment
Programmed Graph Rewriting with Time for Simulation-Based Design
SYNTHESIS OF APPLICATION• Synthesis of a reactive game
• Discard the UserBehavior block
• Runs on a web browser using AJAX and SVG
• Real-time model transformation
31
UserInteractionUser
BehaviorUser
Interaction
Programmed Graph Rewriting with Time for Simulation-Based Design
SUMMARYMoTiF allows for
• Modelling and Simulation-Based Design– Graph transformation rules
– Timed transformation system
– User
• Synthesis of applications– Reactive
– Real-time
32
Autonomous UserControlled
Model E
veryth
ing
Programmed Graph Rewriting with Time for Simulation-Based Design
FUTURE WORK
• Model A.I. behavior: backtracking
• Re-use and parametrisation of transformation models
• MORE COMPLEX EXAMPLES
33
Programmed Graph Rewriting with Time for Simulation-Based Design
34
?