# Activity 7: Documentation and SSCF Generation

[.normal]

## Document generation

To obtain documentation for the Philips version of the tooling, first obtain the template as follows.

- Right-click on VendingMachine.prj and select "Import Philips Template"; this adds a file Template.docx.

Next extend VendingMachine.prj with the following task for document generation:

    Generate Documentations {
      documentationTask for interface IService {
         template = "Template.docx"
         DHF = 123456
         author = "John Smith"
    -    role = "R&D: SW Designer"
      }
    }

Execute the CommaSuite workflow and next navigate to folder src-gen/doc/ and open the generated .docx file. It contains information from the comments in the .signature and .interface files. In addition, the simple state machine is presented as a table.

## SSCF Generation

Extend VendingMachine.prj with the following task for SSCF generation:

    Generate CPP {
       cppTask for interface IService
    }

- Execute the CommaSuite workflow and navigate to folder src-gen/cpp11. It contains the generated C proxy code following the SSCF conventions. Code for C 98 is generated in folder src-gen/cpp98.

Also CLI code can be generated. When the specification includes user defined primitive types that are not based on a CommaSuite primitive type, or when CommaSuite primitive types such as real, string or integer need to be mapped to custom implementation types, then a type mapping task is needed. See the CommaSuite help for more information.