Multi-Cycle Software Process

In the above we use Abstract Machine to specify an application. We can also adopt the Abstract Machine model to specify the multi-cycle software process. In this case, the multiple cycles represent multiple software processes. In the following, cycle1 is the first software process.

cycle1: [guard1,2] Po -enum< P1 =prop+ P2 >elim- P3

Notice this software process provides information to the environment. The second software process reacts to the environment changes:

cycle2: [guard2,1] Po +adapt= P4 -enum< P5 >elim- P6

In other words, as the environment changes, the software process also changes, hence Environment Aware Software Engineering.