SESep 5, 2020

Computer Program Decomposition and Dynamic/Behavioral Modeling

arXiv:2009.03669v18 citations
Originality Synthesis-oriented
AI Analysis

This addresses the challenge of program decomposition for parallelism in software engineering, but it appears incremental as it builds on existing modeling approaches.

The paper tackles the tedious problem of decomposing sequential programs into parallelizable components by proposing a diagrammatic methodology based on the thinging machine (TM) model, which establishes static, dynamic, and behavioral representations and shows viability for program decomposition.

Decomposition, statically dividing a program into multiple units, is a common programming technique for realizing parallelism and refining programs. The decomposition of a sequential program into components is tedious, due to the limitations of program analysis and because sequential programs frequently employ inherently sequential algorithms. This paper contributes to this area of study by proposing a diagrammatic methodology to decompose a sequential program. The methodology involves visualizing the program in terms of a conceptual model called the thinging machine (TM) model. The TM diagram-based model establishes three levels of representation (1) a static description; (2) a dynamic representation; and (3) a behavioral model. The decomposition is performed in the last phase of modeling, according to the streams of events. This method is contrasted with formal decomposition specifications and compared with the typical decomposition of a C++ program. The results point to the viability of using TM for decomposing programs.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes