Direct Abstraction

Student: Matthew Kaes

Direct Abstraction is a high level scripting language that brings a shared code base to both the PC environment and ARM hardware. In the case of the PC version there is an interpreter  that parses the user’s code in a text file and executes it. For the ARM device an embedded virtual machine will look for code on an SD card on boot up to parse and run. In both instances development time is improved by removing the need for long compile times and having to deal with complex tool chains in order to get the code to build. Since the code base is the same for both the PC and the ARM device this means that the developer can write code for the end device without ever running the code on the device. Code can be rapidly developed on a PC environment with instant turnaround time for testing and then the final code can simply be ported to the final device and work.

Direct Abstraction IDE
Direct Abstraction IDE

The project was started as a proof of concept that a high level language can be fast enough, flexible enough, and powerful enough for real world use. Over the course of the project however, a new focus was given on the importance of a unified development environment and how absorbing all parts of the development cycle into a single system can greatly reduce inefficiencies in the development cycle.

Kaes, M. “Direct Abstraction” Digipen report, 24 pages, 2014 (PDF)

Kaes, M. “Direct Abstraction User Manual”, Digipen report, 17 pages, 2014 (PDF)