Computer Program Decomposition and Dynamic/Behavioral Modeling
arXiv:2009.03669
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.
12 pages, 21 figures. arXiv admin note: text overlap with arXiv:2005.10351
References in corpus (5)
- Modeling the Semantics of States and State Machines
- Modeling Network Architecture: A Cloud Case Study
- Modeling Physical/Digital Systems: Formal Event-B vs. Diagrammatic Thinging Machine
- Changes, States, and Events: The Thread from Staticity to Dynamism in the Conceptual Modeling of Systems
- Conceptual Modeling of Time for Computational Ontologies