About
NASA, LUA, and Beer
Jelle Ferwerda
Co-authored with Ashwin Hirschi
Monday, July 14, 2008
Who We Are & What We Do
Founded in 2000 Located in Washington, DC Operate globally Software development environment for business experts Business experts make software applications unique to their organizations
Monday, July 14, 2008
Who Uses It
Monday, July 14, 2008
LogicNets System
Monday, July 14, 2008
Designer
Target audience: Business experts! Define applications as logicnets Nodes represent:
- Forms - Rules / Routers - Call nodes - Process (server based actions)
Monday, July 14, 2008
Publisher
Publish as web applications Track usage Collect feedback Publish as stand-alone applications
Monday, July 14, 2008
Implementation Requirements
Performance Scalability Stability Flexibility
Easy to add new functionality Ability to work with a dispersed team
Monday, July 14, 2008
First Implementation
2000 - 2004
Nodes Logicnets COM System Library Engine Runtime Web Server
Databases HTTP(s) Email Externals
Over time:
- Flexibilityengine is too static, node level is too generic - Performancemore customers leads to bad performance - Stabilitynot as stable as necessary
Monday, July 14, 2008
The Lua Implementation
2004 - Now
Parts Logicnets Logicnets Engine Controller System Library Lua Bindings Runtime Web Server
Databases HTTP(s) WS Mail Externals
Monday, July 14, 2008
Logicnets in Lua
Each Logicnet is translated into Lua tables containing the Net and Node properties Each Node contains composition of parts defined as Lua tables Each part's behavior is mapped to corresponding Lua script
Monday, July 14, 2008
Form Node Editor UI
Monday, July 14, 2008
Form Node Lua Translation
Monday, July 14, 2008
Advantages
Flexibility
Many previous core services are now dynamic, including the engine One part relates to one Lua script
Performance
Much(!) faster scripts No XML overhead Runs as cgi implementation
Stability
A different world
Monday, July 14, 2008
Demonstration
Monday, July 14, 2008
NASA Partnership
Space Act Agreement (SAA): Intelligence modeling and runtime environment for autonomous robotic systems
Procedural Reasoning System No programming Require flexibility to add new behavior, etc.
Monday, July 14, 2008
Applications
Application: Color Configurator
Refrigeration cabinets sales reps use the color configurator to change cabinet color schemes on the fly
Application: Emergency Action Plan Generator
10,000 sports productions per year Different venues, different production teams Every production requires new Emergency Action Plan
Application: Performance Tracker
Quality and Sales reps Collect product quality information and market intelligence with Blackberrys Aggregate and analyze data for management reporting
Monday, July 14, 2008