90 likes | 183 Views
A Relational Virtual Machine for Program Evolution. Sergio Pissanetzky Sergio@SciControls.com. SER 3534. Motivation. The Problem • Program evolution involves many repetitive tasks. • But mechanizing the tasks has proved difficult. The Reason
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