In this form of a sentence, we don't put a comma after
We define a programming model as X to provide ...
However, what if `X' is a phrase with multiple elements?
We define a programming model as an abstraction of a lower hardware architecture layer, upper software layer, and connections between them, (?) to provide data structures and algorithms ...
I'm not sure because
- I need the comma because
upper software layer ... between themis an added explanation, so it is enclosed between commas.
- I don't need the comma because
an abstraction ... between themis just one component X as in
We define ... as X to ....
Which is right?