Abstract: The technology of fragmented programming is focused on the development of paral-lel programs that solve numerical problems. The final program in this technology is assem-bled from separate computation fragments, each of which is an independent program unit containing input and output variables (data fragments) and the code of their processing (code fragment). To implement this technology on computers with shared memory, a paral-lel programming system Aspect was developed. It includes a declarative language for de-scribing the structure of a fragmented program (the Aspect language), a translator from the Aspect language to C ++ and an executive subsystem. The article presents the methods of defining order of execution of computation fragments, developed and implemented in the programming system "Aspect". All of them are based on the use of strict partial order on a set of computation fragments. Various approaches to define order of execution are de-scribed: simple (between separate fragments), massive (between sets of fragments), com-plex (based on logical operations; can be set between separate fragments, and between sets of fragments). The syntax and semantics of the main structures of the Aspect language, in-troduced to support the proposed methods of the control, are considered.An example of solving LU decomposition of a matrix numerical problem is given. Based on that example it was demonstrated how using methods offered one can present a numerical algorithm with a high degree of nonprocedurality. The proposed approaches can be used to implement other tools to support the technology of fragmented programming or can be integrated as additional ways to set the control (new category of control operators) into modern programming languages.
Index terms: parallel programming, technology of fragmented programming, asynchronous model of computing, programming system Aspect, language Aspect, methods for controlling parallel computations.