  Increasing rate of progress in hardware and artificial intelligence (AI)
solutions is enabling a range of software systems to be deployed closer to
their users, increasing application of edge software system paradigms. Edge
systems support scenarios in which computation is placed closer to where data
is generated and needed, and provide benefits such as reduced latency,
bandwidth optimization, and higher resiliency and availability. Users who
operate in highly-uncertain and resource-constrained environments, such as
first responders, law enforcement, and soldiers, can greatly benefit from edge
systems to support timelier decision making. Unfortunately, understanding how
different architecture approaches for edge systems impact priority quality
concerns is largely neglected by industry and research, yet crucial for
national and local safety, optimal resource utilization, and timely decision
making. Much of industry is focused on the hardware and networking aspects of
edge systems, with very little attention to the software that enables edge
capabilities. This paper presents our work to fill this gap, defining a
reference architecture for edge systems in highly-uncertain environments, and
showing examples of how it has been implemented in practice.
