Research Article
Unified Mathematical Framework for Slicing and Symmetry Reduction over Event Structures
Algorithm 1
Conflict-free partition:
.
Input: a prime event structure: ; | Output: the set of : ; | BEGIN | (1) ; | (2) ; | /* Initialize the Queue */ | (3) if (){ | (5) ; | (6) Goto BUILDES; | (7) } /* end if; */ | /* Expand and merge each conflict pair and build maximal conflict patterns: | ; */ | (8) for (++) { /* do */ | (9) Select a partition pattern: ; | (10) /* Current level is , apply , otherwise, skip while loop to the next one: ++; */ | (11) while ( | ) { | /* Get the head of the Queue: event set */ | (12) ; | (13) ; | (14) ; | (15) ; | (16) ; | /* is a conflict-free subset; */ | (17) if () { | (18) ; | /* Remove these elements included in others; */ | (19) ; | (20) }else{ | /* Continue next partition by the conflict pattern: ; */ | (21) ; | (22) } /* end if */ | (23) if () | (24) ; | (25) ; | (26) }else{ | (27) ; | (28) } /* end if */ | (29) } /* end while */ | (30) } /* end for */ | (31) BUILDES: /* Build the sub-structure: */ | (32) while () { | (33) Select a conflict-free event subset from ; | (34) ; | (35) ; | (36) ; | (37) ; | (38) ; | (39) ; ++; | (40) } /* end while */ | (41) ; | (42) return ; | END; |
|