I was thinking no "chance of attack" - if there is an attack in that time in pattern, it happens.
So, something like - choose randomly the duration of pattern, add attacks at random times in this pattern;s duration. Then check that there is no attacks too close to each other, and there is right amount of gaps wide enough that player can squeeze his attack. At lower difficulties you will want more, wider gaps and vice versa.
You make several patterns for a monster like that and don't change them afterwards - all randomness after that is how patterns chain together.