Everything You Ever Wanted To
Know About Functional Global
Variables
Nancy Hollenback
Field Architect
Agenda
• What is a functional global variable (FGV)?
• Does the FGV prevent race conditions?
• Is the FGV better than the global variable?
• Which use cases are a good fit for FGVs
• Is there a better way? (DVRs)
Why Do We Need Functional Global
Variables?
User
interface
Control
Model
Data
Logger
IO Engine
•A large application usually has many processes
executing concurrently
•Processes need to share data or send and receive
messages.
Alarm
Engine
Inter Process Communication
–Store Data
–Stream Data
–Send Message
Typically
straightforward use
cases with limited
implementation options
Many more variations,
permutations, and design
considerations