As mentioned earlier, defining a profile consists of defining what code should be generated, and then defining options to determine how it will be generated. You define what code should be generated by creating modules in a profile and then adding charts to the modules created.