90 likes | 190 Vues
This paper presents a novel approach using a relational container in source code management for automating repetitive tasks in program evolution. The Relational Virtual Machine model is detailed, showcasing the use of relations to represent programs, with a focus on submodeling, encapsulation, and inheritance. The RMC Algebra offers formal algorithms for matrix and relational operations, graph operations, and set operations, providing a robust environment for developers to work on source code and business rules efficiently. The RMC-centric environment also supports various intermediate representations like UML, CFG, and DFD, enhancing coherence in program evolution and facilitating low-level code interpretation.
E N D
A Relational Virtual Machine for Program Evolution Sergio Pissanetzky Sergio@SciControls.com SER 3534 SER 3534 - A Relational Virtual Machine for Program Evolution. Sergio Pissanetzky. Sergio@SciControls.com
Motivation • The Problem • • Program evolution involves many repetitive tasks. • • But mechanizing the tasks has proved difficult. • The Reason • • There is no common program representation. The Solution • Using a relational container for source code. SER 3534 - A Relational Virtual Machine for Program Evolution. Sergio Pissanetzky. Sergio@SciControls.com
Using relations to represent a program is natural 1. a = b / c; a service 2. b = b + 3; Variables can be ( A, M, C ). Literals can only be ( A ). Services : As× Ms → Ms× Cs SER 3534 - A Relational Virtual Machine for Program Evolution. Sergio Pissanetzky. Sergio@SciControls.com
The RMC Model: M = (C, Q) C = Q = SER 3534 - A Relational Virtual Machine for Program Evolution. Sergio Pissanetzky. Sergio@SciControls.com
Matrix of Services RMC Sequences “CAA’MA’CAA’MMC’CA’CA” Turing Machine ”CCCAAA’ACA’MMC’ACAA’AAC’MAA” SER 3534 - A Relational Virtual Machine for Program Evolution. Sergio Pissanetzky. Sergio@SciControls.com
Submodeling, encapsulation, inheritance Class diagram Matrix C S Q P R SER 3534 - A Relational Virtual Machine for Program Evolution. Sergio Pissanetzky. Sergio@SciControls.com
RMC Algebra • Formal algorithms • Matrix operations submatricing, permutations. • Relational operations joins, projections, normalization • Graph operations searches, labels, paths • Set operations sub-superset, union, products SER 3534 - A Relational Virtual Machine for Program Evolution. Sergio Pissanetzky. Sergio@SciControls.com
An RMC-centric environment source code business rules developers parser developers RMC + algorithms language module interpreter low level code assembly, 3-address other models UML, CFG, DFD intermediate representations SER 3534 - A Relational Virtual Machine for Program Evolution. Sergio Pissanetzky. Sergio@SciControls.com
Summary •Program Mathematical object. • Turing complete Universal. •Formal algebra Algorithms. • Link to source code. •Coherence in program evolution. SER 3534 - A Relational Virtual Machine for Program Evolution. Sergio Pissanetzky. Sergio@SciControls.com