Montura Consulting   Research & Development

Repository Relationship Programming with
SAS/AF

  Building PowerTools

** UNDER CONSTRUCTION

Critical Points

Data Relationship

Control Relationship

Component Relationship

 

Base/SAS and SQL

Data Step

SQL

 

SAS Frame / GUI

Combobox

TableViewer, SAS Dataset Model

Textbox

Tree View

Pushbutton

 

Dynamic Flowchart

 

 

 

 

 

Relational objects simplify and organize
information systems.

Examples on this site are for use with The SAS System®.
Java® and C#® provide similar functionality with substantially more programming effort.

Proc Magic is Repository Relationship Programming

Proc Magic is a function that creates an intermediate data relationship between individual instances (programs) within a single application and may also redefine the execution path to include any number of secondary and completely independent applications. The term relationship is used because the connection is dynamic and temporary. Alterations are not applied to source code or object code. Compilers are not needed to implement alterations. Proc Magic creates a dynamic modification that can only be applied after the Virtual Machine creates a unique instance identifier for each instance (progam) in the application.

Modifications can be implemented, and subsequently removed, while the application is executing.

Data Relationship

Load a row of data from any relational database and that row becomes universally available to every object in the application through a specific session-level property. Use multiple global properties when reading a row from more than one dataset.

Control Relationship

Reconfigure any portion of the execution cycle in the original application. Any object, any method-step, any series of logical steps inside the primary applications can be reconfigured through a physically separate secondary application on the same machine.

Apply and remove business rules based on customer data.

Rotate through multiple scoring models.

Add new audits over time.

The Relationship / Connection is Dynamic

According to the RRP structural specification, the application does not exist until components are selected and assembled at runtime. A relationship connects component after they are loaded into memory, just before they execute as a coherent application.

Data and Control relationships are applied, and subsequently removed, while the application is executing. Anyone can change how the system works with a mouse-click.

Apply a bug fix to any portion of the application. The system will apply updates at the specified point, the new collection of programs will execute as if they were part of the original application.

Create interactive "what if" simulations in real time with statistical and BI tools. Select criteria for each simulation and scroll through across each result.

Modifications can be selected, applied, and removed with a GUI.

Modifications applied programmatically for high-speed applications.

Instant Documentation

Source code is physically separated by function, logical step, sequence step, feature, etc. The physical storage map can be used to programmatically generate hard-copy SDLC documentation. When combined with documentation extracted from software executing in memory, engineers can monitor problems as they occur in production with live data.

Parallel Financial Models / Parallel Number Crunching

With relative software design, SAS applications executing in memory for long duration can be modified (update, patch, bug-fix) without crashing application or compromising production data. Any portion of the original SAS application can be repeatedly replicated from a secondary session, linked to operate in parallel, and run as if each add-on were physically part of the original code.

SAS object applications contain a common structure that lends itself to parallel processing - no extra cost, no extra planning, no extra problems. It's that simple - providing the programer is able to identify four separate items during the initial stage of development.

  1. Programs that are common across models.
  2. Programs that are different or optional for each model.
  3. Data containers that are exclusive for each model
  4. Data containers that are common across models.

Repository Relationship Programming

Proc Magic and the complete formal specification "Repository Relationship Programming" was submitted to the United States Patent and Trade Office in September, 2004.

   

 

   

Operating System Modification

Repository Relationship Programming demonstrates that any software can be modified by dynamically changing the executable in memory. Data can be intercepted. Execution steps can be modified, disabled, or completely bypassed. Drivers, proprietary business software, and operating systems from Microsoft®, Apple®, and IBM® can be modified as needed.

  • Modify data inside protected properties
  • Disable any portions of the operating system - file security, user authentication, etc.
  • Create parallel options for any portion of the operating system.
  • Toggle the modification so the add-on module(s) will respond only to a specific data condition, user id, or system event signal.
  • Software that modifies the operating system can be buried inside seemingly innocent programs like calculator, notepad, etc.

Dynamic modifications are undetectable, untraceable, and unstoppable. Dr. Martin Rinard (Massachusetts Institute of Technology) and Michael Ernst (University of Washington) proved such alterations are possible with ClearView.

 

     
   

 

COPYRIGHT © 1989 - 2010 Montura, Inc.
All rights reserved. This material may not be published, broadcast, rewritten or redistributed.

Privacy Policy