A function in uCANca is a behaviour definition. The system to be develop will execute one or some functions (the function list).

In uCANca the function definition is a textual definition that can be completed with a test list and with formal description in the shape of finite state machines.

We can see the LowBeam Lights functionality here:

  • Left column:
    • Textual description.
    • Function properties.
    • List of function sub systems (mapping between functions and systems, where the functions are being implemented or which systems include them).
  • Right column:
    • Function test list. Each test include:
      • Name of the test.
      • Testing target or test description.
      • Input stimuli of the test (trying to use a formal language to leave the door open for automatic test generation in the future, see roadmap).
      • Expected result (in the same shape than stimuli).

In the next chapter we will review a Finite State Machine defining this functionality (and used also to directly generate source code from specification).