You should be familiar with the CAN protocol You should be confortable using either CANalyzer or CANoe and CANdb, the CAN database editor You should also be familiar with the C programming language.
C like syntax. Event-driven (individual functions(evaluate, set signal values, send messages) that react to received messages, expired timers event, change of a ...