I run Artisan on Windows 7. Highly recommended, just give it a try.
There is no universal formula, but I have some general rules.
I’d take one of my roast profiles from last night as an example. To describe a roast profile, we generally need the time of Dry (4:01), the time of Maillard reaction (MAI, hat tip to Rob Hoos; 3:45), the time after the first crack starts (2:00), and the temperature raised after the first crack starts (17.0*F). I want to alter the length of each time segment to modulate the flavor.
The length of Dry (4:01) is largely determined by the bean mass (227.0g), charge BT (337.7*F), and the small increment of the %gas (Power increased from 7% to 16%, 20%, eventually to 44% at the end of Dry). You may try to use one gas formula to define the Dry phase on your machine.
The length of Maillard Reaction (3:45) is determined by the bean mass and the %gas (40~44%) while entering the second phase. The gas is tapered off in this phase, to properly set up the finishing phase. If I charge the drum too hot, too long during the MAI, I would have runaway BT in the Finishing. Similarly, I also avoid too cold of drum which would stall the roast. I keep an eye on the Exhaust Temperature (ET) probe to gauge the drum during the MAI phase.
Once the first crack starts, the roast enters the Finishing phase. I have common combinations of %Gas and %Airflow in this phase. The ambient temperature and humidity may introduce variations in the timing of the adjustment. Once the roast hits my desired time and temperature, I drop the bean. Of cause I might prefer darker roast for certain origins and lighter roast for certain brewing methods.
Now you want a unified formula….