AR-1000 · Architecture Specification · Draft

Airspace Registry Architecture Specification

Object model and resolution architecture for Location Profiles. Companion to the Charter (AR-0001); concrete fields are specified in AR-1004.

Abstract

AR-1000 defines the object model and resolution architecture for machine-readable Location Profiles associated with physical places. It specifies the objects and their relationships, the structure of a Location Profile, and the resolution process by which an application obtains the set of profiles applicable to an operation. This specification does not define regulatory authority, permissions, routing decisions, or application behavior.

1 · Scope

This specification defines:

This specification does not define:

2 · Problem Statement

Existing spatial systems answer one question: where is a place, and what is its geometry? A growing class of applications — autonomous and semi-autonomous systems that operate in physical space — requires a different answer: given a location and an operation, what published context applies here?

This context is not law, not rules, and not authority. It is the set of preferences and conditions the parties responsible for a place have chosen to publish, expressed so that any application can resolve and evaluate it. No existing system provides a common, machine-readable representation of this context, resolvable by location, time, activity, object, or operating volume. AR-1000 specifies that representation and its resolution.

3 · Core Objects

The architecture is defined in terms of seven objects.

LocationA physical place, expressed as a spatial reference (point, boundary, volume, or altitude band). The anchor to which a Location Profile is bound.
Responsible PartyA person or organization with standing to publish and maintain a Location Profile for a Location.
Location ProfileThe machine-readable object associated with a Location and published by a Responsible Party. The primary object of this specification.
Context ClassA named, independently extensible group of fields within a Location Profile (§7).
Profile SetThe set of Location Profiles resolved as applicable to a given operation.
ResolverThe process that, given a query, returns the applicable Profile Set. It selects; it does not decide.
ApplicationThe consumer that evaluates a Profile Set against its own requirements and determines behavior.

4 · Location Profile

A Location Profile is the central object of the architecture. It is bound to exactly one Location, is published by a Responsible Party, and is composed of an Identity, a set of Context Classes, and an Extension area.

Location Profile
  Identity
    profile id
    location reference
    responsible-party reference
    version
  Spatial Context
    boundaries · volumes
    altitude bands
    indoor references
  Temporal Context
    schedules
    recurring windows
    temporary events
  Operational Context
    activities
    published preferences
    conditions
  Interaction Context
    inquiry endpoints
    notification preferences
    contacts
  Evaluation Context
    provenance
    verification status
    precedence
    confidence
  Extension
    namespaced fields (future schemas)

Identity anchors the profile; the five context classes organize its published context; the Extension area admits new schemas without altering the model. Identity and Extension are structural — they are not context classes. The concrete fields of each class are specified in AR-1004.

5 · Resolution

Resolution is the process of obtaining the Profile Set applicable to an operation. Given a query — a location, and optionally a time, activity, object, or operating volume — the Resolver returns every Location Profile whose scope contains the query.

operation  (location, time, activity, object, volume)
     |
     v
  Resolver
     |
     v
  Profile Set   (0..n applicable Location Profiles)
     |
     v
  Application    evaluates the Profile Set
     |
     v
  decision       determined by the application, not the registry

Resolution is selection, not decision. The Resolver returns what applies; the Application determines what to do. A Profile Set of size zero is a valid result: it states that no published context applies to the operation.

6 · Overlapping Profiles

A single operation frequently resolves to more than one applicable Location Profile. Profiles overlap because context originates independently — from different Responsible Parties, spatial volumes, time windows, or activities — and no coordinating authority merges them.

Operation:  a drone mission over a downtown block

Resolves to:
  municipal profile         (city)
  park profile              (public green space)
  property-owner profile    (a building)
  event profile             (temporary, time-bounded)
  construction profile      (temporary, activity-scoped)
  altitude-band profile     (operating volume)
  AR-installation profile   (interaction-scoped)

  Profile Set = 7 applicable profiles

The Resolver returns all seven. The Application evaluates them against its own operational and business requirements and determines behavior. The registry does not rank, merge, or decide among them. Precedence and confidence are published within each profile’s Evaluation Context as inputs to the application’s evaluation — never as an outcome imposed by the registry.

Profiles and operations are typed — by activity (for example delivery, survey, or filming), by operator class (for example public safety, owner, commercial, or recreational), and by the class of the Responsible Party (for example a municipality, a business, or a property owner). These typings determine which profiles are applicable to an operation and how an application weighs them.

7 · Context Classes

A Location Profile’s fields are grouped into context classes. A context class is a named group of fields that evolves independently of the others. Classes exist so that the schema for one dimension of context can grow without coordinating with, or destabilizing, the rest.

SpatialWhere a profile applies: boundaries, volumes, altitude bands, indoor references.
TemporalWhen it applies: schedules, recurring windows, temporary events.
OperationalWhat is happening and what is preferred: activities, published preferences, conditions.
InteractionHow the Responsible Party prefers to be engaged: inquiry, notification, contact.
EvaluationHow an application weighs a profile: precedence across operator classes, provenance, verification, confidence.

Context classes are the unit of extension. Adding a field to a class is routine (§8). Adding a class is a rare, deliberate act, analogous to introducing a new record type.

8 · Extensibility

The model is designed so that context can grow without architectural change.

new field
   |  added to an existing context class (via AR-1004)
   v
existing profile structure    unchanged
   |
   v
existing resolver             unchanged
   |
   v
existing applications         ignore fields they do not understand

A new field enters an existing context class through AR-1004; the object model, the Resolver, and existing applications are unaffected. Applications process the classes and fields they understand and ignore the rest. A new context class, or a new schema in the Extension area, extends the model the same way — additively, without redefinition.

9 · Ecosystem

This specification is implemented within an ecosystem of four independent functions. They are noted here only insofar as they bound conformance; their governance is defined in AR-0001.

Public RegistryPublishes Location Profiles and resolves Profile Sets. Neutral: it selects, it does not decide.
ApplicationsResolve and evaluate Profile Sets and determine behavior independently.
Commercial ImplementationsLicense the architecture to provide products and services. SpatialDNS LLC develops commercial technologies and services based upon the licensed intellectual property.
Intellectual PropertyThe architectural innovations, which may be commercially licensed.

The Registry never determines application behavior; applications never depend on the Registry to decide.

10 · Open Problems

The following problems are unresolved. They are stated here because they define the architecture’s frontier — not because this specification answers them.

Location identity without a root.DNS resolves within a single delegated namespace rooted at a known authority. Physical places have no equivalent root: a location is claimed by an owner, a municipality, and other parties at once, with no hierarchy among them. How a Location is canonically and stably identified — so that independent parties reference the same place — is unresolved.
Completeness of resolution.With no authoritative index of who may publish for a place, an application cannot assume the Profile Set it resolves is complete. What it means to have found all applicable profiles, absent a root — and how resolution bounds and signals completeness — is unresolved.
Composition of precedence.Precedence and confidence are published within each profile as inputs to evaluation. When independent Responsible Parties publish conflicting precedence for the same operation, whether those claims compose into a defined result — or remain separate inputs the application must reconcile — is unresolved. This specification deliberately imposes no outcome; whether a well-defined composition is even desirable is open.
Temporal validity as meaning.Temporal Context expresses when a profile applies as part of its meaning — distinct from cache lifetime. Deterministic evaluation of applicability across recurring windows, temporary events, and time zones — and the semantics of a profile whose validity is itself time-dependent — is only partially specified.

These problems are open. This specification does not depend on their resolution to be implemented, but their resolution will shape its evolution.

Document family

AR-0001CharterGovernance, principles, neutrality. Read →
AR-1000Architecture Specification — this documentObject model and resolution.
AR-1004API SpecificationConcrete fields, formats, endpoints. Read →

AirspaceRegistry.org is a working reference implementation of this specification — a public API, a resolver, and open-standard output.