Aggregate Level Simulation Protocol: Difference between revisions

Content deleted Content added
Bluelinking 1 books for verifiability.) #IABot (v2.1alpha3
m WP:GenFixes on, typo(s) fixed: doesn’t → doesn't, ’s → 's (11)
Line 10:
In 1990, the '''[[Defense Advanced Research Projects Agency]] (DARPA)''' employed '''The [[MITRE]] Corporation''' to study the application of distributed interactive simulation principles employed in '''[[SIMNET]]''' to aggregate-level constructive training simulations. Based on prototype efforts, a community-based experiment was conducted in 1991 to extend SIMNET to link the US Army's [https://archive.is/20130822204558/http://www.peostri.army.mil/PRODUCTS/CBS/home.jsp '''Corps Battle Simulation (CBS)'''] and the US Air Force's [https://web.archive.org/web/20041019105713/http://afmsrr.afams.af.mil/index.cfm?RID=SMN_AF_1000000 '''Air Warfare Simulation (AWSIM)''']. The success of the prototype and users' recognition of the value of this technology to the training community led to development of production software. The first ALSP confederation, providing air-ground interactions between CBS and AWSIM, supported three major exercises in 1992.
 
By 1995, ALSP had transitioned to a multi-Service program with simulations representing the US Army (CBS), the US Air Force (AWSIM), the US Navy ('''RESA'''), the US Marine Corps ([https://web.archive.org/web/20070826203844/http://www.29palms.usmc.mil/dirs/ont/mands/mwts.asp '''MTWS''']), electronic warfare ('''JECEWSI'''), logistics ('''CSSTSS'''), and intelligence ([https://web.archive.org/web/20070825010050/http://www.peostri.army.mil/PRODUCTS/TACSIM/ '''TACSIM''']). The program had also transitioned from DARPA’sDARPA's research and development emphasis to mainstream management by the US Army’sArmy's Program Executive Office for Simulation, Training, and Instrumentation ([http://www.peostri.army.mil '''PEO STRI'''])
 
==Contributions==
Line 52:
The first strategy requires few perturbations to existing simulations; interaction is facilitated entirely through the interconnection infrastructure. However, this solution does not scale well. Because of an underlying requirement for scalability, the ALSP design adopted the second strategy. ALSP prescribes that each simulation maps between the representational scheme of the confederation and its own representational scheme. This mapping represents one of the three ways in which a simulation must be altered to participate in an ALSP confederation. The remaining modifications are:
 
* Recognizing that the simulation doesn’tdoesn't own all of the objects that it perceives.
* Modifying the simulation’ssimulation's internal time advance mechanism so that it works cooperatively with the other simulations within the confederation.
 
In stand-alone simulations, objects come into (and go out of) existence with the passage of simulation time and the disposition of these objects is solely the purview of the simulation. When acting within a confederation, the simulation-object relationship is more complicated.
 
The simulation-object ownership property is dynamic, i.e. during its lifetime an object may be owned by more than one simulation. In fact, for any value of simulation time, several simulations may own different attributes of a given object. By convention, a simulation owns an object if it owns the "identifying" attribute of the object. Owning an object’sobject's attribute means that a simulation is responsible for calculating and reporting changes to the value of the attribute. Objects not owned by a particular simulation but within the area of perception for the simulation are known as ghosts. Ghosts are local copies of objects owned by other simulations.
 
When a simulation creates an object, it reports this fact to the confederation to let other simulations create ghosts. Likewise, when a simulation deletes an object, it reports this fact to enable ghost deletion. Whenever a simulation takes an action between one of its objects and a ghost, the simulation must report this to the confederation. In the parlance of ALSP, this is an interaction.
Line 139:
===ALSP Protocol===
 
The ALSP protocol is based on a set of orthogonal issues that comprise ALSP’sALSP's problem space: simulation-to-simulation communication, object management, and time management. These issues are addressed by a layered protocol that has at the top a simulation protocol with underlying simulation/ACM, object management, time management, and event distribution protocols.
 
====Simulation Protocol====
Line 146:
 
* ''Update.'' Objects in ALSP are defined by a unique id number, a class, and a set of attributes associated with a c1ass. As a simulation changes the state its objects, it sends update messages to the ACM that provide initial or changed attribute values. The ACM then distributes the information via AIS to other simulations in that have indicated interest.
* ''Interaction.'' Interactions between objects are identified by kind. Interaction kinds are described by parameters, just as objects are described by attributes. When a simulation’ssimulation's object engages either another simulation’ssimulation's object or a geographic area, the simulation sends an interaction message to the ACM for further dissemination to other interested simulations.
* ''Refresh request.'' A simulation can request an update of a set of attribute values for any object or class of objects by sending a refresh request message to the confederation.
* ''Delete.'' When a simulation causes one of its objects to cease to exist, the simulation sends a delete message to inform other simulations.
Line 162:
Distributed object ownership presumes that no single simulation must own all objects in a confederation, but many simulations require knowledge of some objects. A simulation uses simulation protocol update messages to discover objects owned by other simulations. If this simulation is interested in the objects, it can ghost them (track their locations and state) and model interactions to them from owned objects.
 
Locks implement attribute ownership. A primary function of the object management protocol is to ensure that a simulation only updates attributes for which it has acquired a lock. The [[object manager]] in the ACM manages the objects and object attributes of the owned and ghosted objects known to the ACM. Services provided by the simulation/ACM protocol are used by the simulations to interact with the ACM’sACM's attribute locking mechanism. The coordination of status, request, acquisition, and release of object attributes, between ACMs, uses the object management protocol.
Each attribute of each object known to a given ACM has a status that assumes one of three values:
 
Line 169:
* ''Gone.'' The state of control is held elsewhere in the confederation.
 
From the ACM’sACM's perspective, objects come into existence through the registration process performed by its simulation or through the discovery of objects registered by other simulations. The initial state attribute locks for registered objects and discovered objects is as follows:
 
* ''Object Registration'' places each object-attribute pair in the locked state. The simulation may optionally specify attributes to be in the unlocked state.
Line 176:
====Time Management Protocol====
 
The time management protocol is also a peer-level protocol that sits below the simulation protocol. It provides time management services for synchronizing simulation time among ACMs. The protocol provides services for the distributed coordination of a simulation’ssimulation's entrance into the confederation, time progression, and confederation saves.
 
The join/resign services and time synchronization mechanisms are described in Section earlier. The save mechanism provides fault tolerance. Coordination is required to produce a consistent snapshot of all ACMs, translators and simulations for a particular value of simulation time.
Line 184:
The ACM uses simulation message filtering to evaluates the content of a message received from the confederation. The ACM delivers messages to its simulation that are of interest, and pass filtering criteria and discards those that are not of interest. The ACM filters two types of messages: update messages and interaction messages.
 
''Update messages.'' The ACM evaluates update messages based on the simulation’ssimulation's update message filtering criteria that the simulation provides. As discussed in earlier, when an ACM receives an update message there are four possible outcomes: (1) the ACM discards the message, (2) the ACM sends the simulation a create message, (3) the ACM sends the simulation the update message, or (4) the ACM sends the simulation a delete message.
 
''Interaction messages.'' An ACM may discard interaction messages because of the kind parameter. The kind parameter has a hierarchical structure similar to the object class structure. The simulation informs its ACM of the interaction kinds that should pass or fail the interaction filter.