CANalyzer and CANoe are two well-known tools that offer extensive simulation, development, and analysis of various bus systems and protocols. Both flagship tools, owned by Vector, are equipped with their own programming language called CAPL (CAN Access Programming Language). This event-based language allows simulation of network and node behavior and testing. Its syntax is similar to C, but CAPL does not require any file associations to compile or run like C/C++. It does, however, have a set of internally defined functions available to users. When these functions cannot help a user to perform a specific task, the best solution is to implement the task in a DLL.
1