Computer Program Decomposition and Dynamic/Behavioral Modeling

09/05/2020
by   Sabah Al-Fedaghi, et al.
0

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.

READ FULL TEXT

page 4

page 5

page 7

page 8

page 10

page 11

research
08/24/2017

From Concurrent Programs to Simulating Sequential Programs: Correctness of a Transformation

Frama-C is a software analysis framework that provides a common infrastr...
research
05/20/2020

Modeling Physical/Digital Systems: Formal Event-B vs. Diagrammatic Thinging Machine

Models are centrally important in many scientific fields. A model is a r...
research
04/10/2018

ConPredictor: Concurrency Defect Prediction in Real-World Applications

Concurrent programs are difficult to test due to their inherent non-dete...
research
04/25/2023

Resource Specifications for Resource-Manipulating Programs

Specifications for modular program verifiers are expressed as constraint...
research
01/26/2019

Strong Equivalence and Program's Structure in Arguing Essential Equivalence between Logic Programs

Answer set programming is a prominent declarative programming paradigm u...
research
12/24/2019

Aggressive Aggregation: a New Paradigm for Program Optimization

In this paper, we propose a new paradigm for program optimization which ...
research
06/05/2022

Geometric Theory for Program Testing

Formal methods for verification of programs are extended to testing of p...

Please sign up or login with your details

Forgot password? Click here to reset