Cross-Platform Application Development System

Project CPADS


Project Overview

The Cross-Platform Application Development System, or CPADS, is a virtual environment which enables the development of applications for multiple architectures without the need to port1 them using a different toolchain.

Born out of a discussion on the need for assembly operating systems to unite and provide portable software2, CPADS aims to provide such a solution to this problem by utilizing a virtual machine language (Bytecode3) and run-time environment (similar in form to Microsoft's .NET Framework4), in addition to creating a portable environment, the CPADS specification calls for a compressed executable reminiscent of a Java Archive5.

System Overview

CPADS, as a specification, implements and utilizes a set of components consisting of:

  • FASM - the compilation tool used to translate assembly code to AVM-compliant bytecode
  • AVM - a highly portable virtual machine that features dynamic just-in-time translation of virtual machine code to native machine code (see the main article)
  • VALKYR - a collection of common routines for input/output, formatting and processing for both textual and graphical environments (see the main article)
  • .APP - an executable archive that contains all the necessary data and instructions to run on any CPADS-compliant system (see the main article)

Illustrated below is a system-level diagram of CPADS. AVM and VALKYR sit on top of the OS-level functionality, transparently providing the necessary interfaces to run virtual applications (.APP).


Progress & Development

Currently, CPADS is being designed by TonyMac and Solidus for use with DexOS-IA32 and DexOS-ARM9. Upon completion of this design phase, a minimal evaluation of the CPADS design will be done in order to prove the viability of the system.

Should this evaluation prove successful, a full implementation will be rolled-out for both DexOS systems in order prove the effectiveness of the AVM architecture, which could be applied to other operating systems such as Linux, Windows and MenuetOS.

References & Footnotes

1. Porting. Wikipedia, Wikimedia Foundation. Accessed: Aug. 29, 2009.
2. The AOS Co-Operation Manifesto. Solidus, Team DexOS. Aug. 21, 2009.
3. Bytecode. Wikipedia, Wikimedia Foundation. Accessed: Aug. 29, 2009.
4. .NET Framework. Wikipedia, Wikimedia Foundation. Accessed: Aug. 29, 2009.
5. JAR (File Format). Wikipedia, Wikimedia Foundation. Accessed: Aug. 29, 2009.
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License