English

Computer Program Decomposition and Dynamic/Behavioral Modeling

Software Engineering 2020-09-09 v1

Abstract

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.

Keywords

Cite

@article{arxiv.2009.03669,
  title  = {Computer Program Decomposition and Dynamic/Behavioral Modeling},
  author = {Sabah Al-Fedaghi},
  journal= {arXiv preprint arXiv:2009.03669},
  year   = {2020}
}

Comments

12 pages, 21 figures. arXiv admin note: text overlap with arXiv:2005.10351