|
1
|
- A New Paradigm For Software Development And Execution Using The
“Run-time Compiler” (RTC) Technology
|
|
2
|
- Application development using compilers
- Usually used for high performance applications
- Application portability issues
- Hardware/OS specific binary object code
- Relatively difficult to maintain
- Changes to source require a recompile
- Large code bases can take a long time to compile and recompile
|
|
3
|
- Application development using interpreters
- Application code is interpreted and executed line-by-line resulting in slower
execution speed
- Application code is more Portable
- Code should work identically on any platform that supports the
software interpreter
- Application code is easier to maintain
- Code can be changed quickly and executed “On-the-Fly” requiring no
time consuming recompiling
|
|
4
|
- Compiled Applications
- Productivity Applications – Word processors, spreadsheet, database
engines, etc.
- High performance and computationally Intensive programs – Encryption
software, signal processing programs, modeling/scientific software,
games, etc.
- Interpreted Applications
- Webpage scripts
- Application Installation scripts
- “Quick-and-dirty” utility programs
|
|
5
|
|
|
6
|
|
|
7
|
- Best Of Both Worlds!
- Programs are extremely flexible
- Algorithms can be redefined anytime “On-the-fly” just like interpreted
software applications
- Programs execute quickly
- RTC complied algorithms execute at speeds similar to compiled/hard
coded instructions
|
|
8
|
- Prototype RTC currently compiles symbolic mathematical expressions and
equations
- Symbolic math is the most
powerful “universal” language
- The RTC Technology can also be adapted to implement other types of
instructions (e.g. Motion control, cellular automation, bit-mixing,
etc.)
- Platform independent
- Compiler is implemented in standard C++
- Portable to any hardware/software platform
- RTC module has an extremely small footprint
- Embeddable in any application framework
- The RTC can be integrated with, or linked to, any application giving
that application the ability to compile algorithms “on-the-fly”!
|
|
9
|
- The RTC can easily be packaged to take advantage of industry standard
distributed processing technologies!
- CORBA (UNIX/LINUX/Microsoft)
- ActiveX - DCOM (Microsoft)
- Using these technologies, the RTC software module(s) can run across
process and system boundaries!
|
|
10
|
|
|
11
|
- RTC Technology can be integrated into SNAPP Object intelligent agent
application software
- SNAPP Objects implement a CORBA interface
- SNAPP Objects can be created by application software and/or other SNAPP
Objects forming a multidimensional mesh of computational nodes
- The SNAPP Objects implement a RTC interface which accept, compile, and
evaluate dynamic mathematical functions on behalf of the controlling
application
|
|
12
|
- USB 2.0 peripheral – Over 400 MB/sec xfer rate
- Full Linux system on a stick
- Thumb/Pen drive form factor, powered directly off USB port
- Quickly Boots Up and networks with host systems using USB port
- Optimized to support CORBA based SNAPP Objects
- Provides “Grid support” for demanding applications
|
|
13
|
- Benefits of fundamental RTC technology in SNAPP Objects
- Greatly Improves and speeds software development process
- Applications automatically become grid enabled through the SNAPP Object
technology
- SNAPP Objects will form computational meshes on standalone, LANs,
WANs, and Internet
- Implementing SNAPP Object grid technology is transparent to the
developer
- Applications should run with or without grid infrastructure
- Applications automatically become SNAPPKey enabled
- Developers can take advantage of special high performance SNAPPKey
peripherals
|