Notes
Slide Show
Outline
1
SNAPP Technology
Presentation
  • A New Paradigm For Software Development And Execution Using The “Run-time Compiler” (RTC) Technology
2
Traditional Approaches
  • 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
Traditional Approaches (cont.)
  • 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
Examples of Compiled/Interpreted
Applications
  • 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
Overview of a Traditional Compiled Software Application
6
Overview of High Performance Polymorphic Application!
7
Polymorphic Applications Built with RTC Technology
  • 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
RTC Technology Attributes
  • 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
    •  Less than 100 KB
  • 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
Distributed Processing Using RTC Technology
  • 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
SNAPP RTC Technology Grid System
  • 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
SNAPP Key Vision
  • 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
Application Developers Enjoy
  • 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