Here's an idea I had for syntax of activity diagrams:
Declare swimlanes like it is with partitions, only they're empty:
swimlane P1
swimlane P2
swimlane P3
For the rest of the dynamics, use an "in" keyword to specify the swimlane partition:
if (multiprocessor?) then (yes) in P1
fork :Treatment 1; in P2
fork again in P1
:Treatment 2; in P3
end fork in P1
else (monoproc) in P1
:Treatment 1; in P1
:Treatment 2; in P1
endif in P1
The fork syntax is a bit inconsistent, so the "in" doesn't quite make sense in this example. Anyway, it doesn't have to be "in" (maybe some symbol).