This is an overview of all the meetings I had with Prof. Van Gheluwe.

Planned. TODO : small modifications and first draft of report.

Discussed syntax for event raising and triggering. Reviewed tests. Discussion on initial enter actions. Renamed the concept of inner- and outerfirst to conflict resolving.

Talked about the transition target and INSTATE macro. The state can be presented XPath like. (So from root '/', relative and to parent '..'.)
State id's only have to be unique on sibling level, no longer at statechart level.

Discussion on non-determinism. Multiple enabled transitions at the same level should trigger a run-time warning.

Status update. Discussion on how to perform tests. Started on report.

Agreed on the subject for the internships and the thesis. Also sorted out some compiler-related questions, how the code should be tested and what has to be part of the report.
The distribution of work :
  • RS1 : Statechart compiler prototype in python
  • RS2 : Port to C# and integration with Unity
  • Thesis : Modelling- and experimenting-environment in Unity

Discussed how the compiler should work.
  • Input/Output ports to communicate with other entities.
  • Different types of event casting: localcast, narrowcast and broadcast
  • ...

Received multiple theses about statechart compilers. The goal is to merge these into a compiler usable for Unity.
  • I start off with Reehan Shaik's compiler where I'll replace the input method that depends on AToM3 to an XML format that will contain SCXML and class diagrams. I will need to figure out a way how to present the class diagram in XML.
  • The XML then has to be transformed to some kind of data structure, like the ASG tree from AToM3.
  • This will then be followed by conformance checking. We check if the set of statecharts and classdiagrams are valid.
  • And as a last step, code will be generated from the data structure.
A prototype will be built in python, which will be eventually ported to C#.

Reviewed the risk analysis. (Success)
Back to reading :
  • Correspondence mappings
  • SCXML to Javascript compiler

Discussing design of the statechart editor in Unity.
Research :
  • Build prototype
  • Can the game communicate with the editor environment?

Research :
  • Is code-generation possible in Unity?
  • What are the scheduling options in Unity?
  • What happens with events that get scheduled on the same frame?
  • Can we handle mouse events?

What statechart compiler?
  • Existing compiler (JS target language)
  • Build own (C# target language)
What statechart editor? Build one in Unity?
How to convince people?
  • Make tool available in Unity Asset Store?
  • Let people build the same AI with and without the use of statecharts?

Discuss the different possible options.
  • Build own game architecture?
  • Use existing architecture?
    • Academic? Panda3D
    • Commercial? Source,Unity,CryEngine,Unreal/UDK
  • Use the architecture of an AI competition?
    • AI Sandbox (Killzone)
    • Tank Wars (EA)
    • AI Challenge Ants (Google)
Statechart representation, SCXML?
Target language for compiler?
In the end we want to be able to evaluate the AI and create the perfect one. (Playability)

Discuss relevant project for the Model Driven Engineering course.

Discuss subject for research internships and thesis.
Todo :
  • Contact Gino Wuytjens for his thesis and read his final paper.
  • Research which directions we can head in to convince the gaming industry of modelling NPC behaviour with statecharts..
Maintained by Glenn De Jonghe. Last Modified: 2013/11/18 04:01:42.