The greatest time that each federate can be granted to, depends on the time that other federates have been granted to as well as their lookahead. The GALT for a federate specifies how far a federate can be granted, without having to wait for other federates to be granted. This is particularly interesting for a federate that joins late into a time managed federation. Key services for GALT are: QueryGALT that returns the GALT for the calling federate. More advanced services include: FlushQueueRequest whereby a federate can request delivery of all queued, timestamped messages, no matter how far in the future their timestamp is. Retract whereby a federate can request that an already sent message is retracted. This is useful in optimistic simulation. Data Distribution Management Services (DDM) The purpose of DDM, described in chapter 9 of the HLA Interface Specification, is to increase scalability of federations by performing additional filtering of subscribed data beyond class and attribute subscriptions. Filtering can be based on continuous values (like latitude and longitude) or discrete values (like car brand). Key concepts of DDM are: Dimension: a named interval (0..n) used for filtering, with values starting with 0 and ending with an upper bound n. Data in the simulation domain is mapped to one or more dimensions. For example, dimensions for geographical filtering could be LatitudeDimension and LongitudeDimension. A dimension for filtering based on car brand could be CarBrandDimension. Normalization function: a function that maps input values to integer values to be used in a dimension. An example is that a normalization function for the LatitudeDimension could map a latitude value ranging from -90.0 to +90.0 to an integer in the range 0..179. A normalization function for the CarBrandDimension could map a set of car brands Kia, Ford, BMW and Peugeot to an integer in the range 0..3. Range: an interval on a dimension, specified by a lower bound (inclusive) and an upper bound (exclusive). Region: a set of ranges, each one relating to a particular dimension. In the above example, a region could consist of the range (3..5) for LatitudeDimension (55..65) for LongitudeDimension and (0..1) for the CarBrandDimension. At runtime Region Realizations (objects) are instantiated to represent regions. The ranges of a region can be modified over time. Region overlap: two regions overlap if, for all dimensions that they have in common, their ranges overlap. At runtime, a federate can provide Regions when